diff mbox series

[wrynose,1/2] curl: patch CVE-2026-11352

Message ID 20260824222050.1754160-1-peter.marko@siemens.com
State New
Headers show
Series [wrynose,1/2] curl: patch CVE-2026-11352 | expand

Commit Message

Peter Marko Aug. 24, 2026, 10:20 p.m. UTC
From: Peter Marko <peter.marko@siemens.com>

Pick patch per [1].

[1] https://curl.se/docs/CVE-2026-11352.html

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 .../curl/curl/CVE-2026-11352.patch            | 48 +++++++++++++++++++
 meta/recipes-support/curl/curl_8.19.0.bb      |  1 +
 2 files changed, 49 insertions(+)
 create mode 100644 meta/recipes-support/curl/curl/CVE-2026-11352.patch
diff mbox series

Patch

diff --git a/meta/recipes-support/curl/curl/CVE-2026-11352.patch b/meta/recipes-support/curl/curl/CVE-2026-11352.patch
new file mode 100644
index 0000000000..df414b9112
--- /dev/null
+++ b/meta/recipes-support/curl/curl/CVE-2026-11352.patch
@@ -0,0 +1,48 @@ 
+From 56eca2afb4806f1032872fa97d1834b3c1385276 Mon Sep 17 00:00:00 2001
+From: Stefan Eissing <stefan@eissing.org>
+Date: Fri, 5 Jun 2026 08:34:46 +0200
+Subject: [PATCH] quic: count zero length packets against max
+
+With a flood of zero lenght UDP packets to curl, the receive loop might
+run longer than intended to. Count such packets against the max to
+terminate the loop as intended.
+
+URL: https://hackerone.com/reports/3783438
+Reported-by: vectorqueue on hackerone
+Closes #21869
+
+CVE: CVE-2026-11352
+Upstream-Status: Backport [https://github.com/curl/curl/commit/56eca2afb4806f1032872fa97d1834b3c1385276]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ lib/vquic/vquic.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/lib/vquic/vquic.c b/lib/vquic/vquic.c
+index 2f0e072951..475f18e04a 100644
+--- a/lib/vquic/vquic.c
++++ b/lib/vquic/vquic.c
+@@ -454,8 +454,10 @@ static CURLcode recvmmsg_packets(struct Curl_cfilter *cf,
+     VERBOSE(++calls);
+     for(i = 0; i < mcount; ++i) {
+       /* A zero-length UDP packet is no QUIC packet. Ignore. */
+-      if(!mmsg[i].msg_len)
++      if(!mmsg[i].msg_len) {
++        ++pkts;
+         continue;
++      }
+       total_nread += mmsg[i].msg_len;
+ 
+       gso_size = vquic_msghdr_get_udp_gro(&mmsg[i].msg_hdr);
+@@ -538,8 +540,10 @@ static CURLcode recvmsg_packets(struct Curl_cfilter *cf,
+     ++calls;
+ 
+     /* A 0-length UDP packet is no QUIC packet */
+-    if(!nread)
++    if(!nread) {
++      ++pkts;
+       continue;
++    }
+ 
+     gso_size = vquic_msghdr_get_udp_gro(&msg);
+     if(gso_size == 0)
diff --git a/meta/recipes-support/curl/curl_8.19.0.bb b/meta/recipes-support/curl/curl_8.19.0.bb
index 5ba881bd76..cf1d65c3a3 100644
--- a/meta/recipes-support/curl/curl_8.19.0.bb
+++ b/meta/recipes-support/curl/curl_8.19.0.bb
@@ -23,6 +23,7 @@  SRC_URI = " \
     file://CVE-2026-6429.patch \
     file://CVE-2026-7168.patch \
     file://CVE-2026-4873.patch \
+    file://CVE-2026-11352.patch \
 "
 
 SRC_URI:append:class-nativesdk = " \