Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Paul Barker <paul@pbarker.dev>
To: Yoann Congal <yoann.congal@smile.fr>,
	 openembedded-core@lists.openembedded.org
Subject: Re: [OE-core][scarthgap 19/55] python3-urllib3: Fix CVE-2026-97689
Date: Mon, 02 Nov 2026 21:21:25 +0000	[thread overview]
Message-ID: <01e34b7b659856ddc441fef77a655623f718d2bd.camel@pbarker.dev> (raw)
In-Reply-To: <DMKQGM0OK34J.11PEY49EZB5M7@smile.fr>

On Mon, 2026-11-02 at 13:44 +0100, Yoann Congal wrote:
> On Mon Nov 2, 2026 at 12:02 PM CET, Paul Barker wrote:
> > On Sat, 2026-10-31 at 01:14 +0100, Yoann Congal wrote:
> > > From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> > > 
> > > Backport the upstream fix [1] as mentioned in [2]
> > > 
> > > [1] https://github.com/urllib3/urllib3/commit/cd770b059b543be29298ea5c52afb0b1b090f5ed
> > > [2] https://nvd.nist.gov/vuln/detail/cve-2026-97689
> > > 
> > > Testing:
> > >   - test_response.py::test_chunk_size_line_too_long - passed
> > >   - test_response.py::test_chunk_trailer_line_length (6 cases) - passed
> > >   - test_socketlevel.py::test_chunked_size_line_too_long_does_not_buffer - passed
> > >   - Full test_response.py: 161 passed, 45 skipped (no regressions)
> > > 
> > > Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> > > Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> > > ---
> > >  .../python3-urllib3/CVE-2026-97689.patch      | 251 ++++++++++++++++++
> > >  .../python/python3-urllib3_2.2.2.bb           |  14 +-
> > >  2 files changed, 258 insertions(+), 7 deletions(-)
> > >  create mode 100644 meta/recipes-devtools/python/python3-urllib3/CVE-2026-97689.patch
> > > 
> > > diff --git a/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97689.patch b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97689.patch
> > > new file mode 100644
> > > index 00000000000..98b007324cf
> > > --- /dev/null
> > > +++ b/meta/recipes-devtools/python/python3-urllib3/CVE-2026-97689.patch
> > > @@ -0,0 +1,251 @@
> > > +From 5d5fac45ff18a8159c5a4aa973ed9fc2f5dd35ad Mon Sep 17 00:00:00 2001
> > > +From: Quentin Pradet <quentin.pradet@gmail.com>
> > > +Date: Tue, 15 Sep 2026 22:33:41 +0400
> > > +Subject: [PATCH] Merge commit from fork
> > > +
> > > +* Bound chunk-size line reads to prevent memory exhaustion DoS
> > > +
> > > +The streaming chunked path (HTTPResponse.stream() / read_chunked()) read
> > > +each chunk-size line with an unbounded readline(), unlike the plain read()
> > > +path which delegates to http.client's _MAXLINE-capped reader. A malicious
> > > +server could advertise Transfer-Encoding: chunked and then send a very long
> > > +run of bytes with no newline, forcing the client to buffer the entire run
> > > +before the chunk size could be rejected.
> > > +
> > > +This caps the chunk-size line (and the trailing CRLF line) at _MAXLINE,
> > > +raising ProtocolError when exceeded, matching the behaviour read() already
> > > +had. Only the size line is bounded; chunk bodies still go through the sized
> > > +_safe_read(), so legitimate large chunks are unaffected.
> > > +
> > > +Verified with a local malicious server streaming a 200 MiB unterminated
> > > +size line: stream() previously grew RSS by ~530 MB, now stays at ~1 MB and
> > > +fails fast, matching read(). A 5 MiB chunk body still streams correctly.
> > > +
> > > +* Fix a black formatting issue
> > > +
> > > +* Test chunked response trailer length limits
> > > +
> > > +* Fix number in the changelog entry
> > > +
> > > +---------
> > > +
> > > +Co-authored-by: Illia Volochii <illia.volochii@gmail.com>
> > > +
> > > +CVE: CVE-2026-97689
> > > +Upstream-Status: Backport [https://github.com/urllib3/urllib3/commit/cd770b059b543be29298ea5c52afb0b1b090f5ed]
> > > +
> > > +Note:
> > > + - changeLog change is not backported
> > > + - Adjusted commit change as per current version
> > 
> > Do we need more detail on the adjustments made during backporting?
> 
> I did not need more infos for this one, changes were obvious enough. And
> the resulting code is the same as upstream's.

Ok, sounds good. Thanks for confirming!

Best regards,

-- 
Paul Barker


  reply	other threads:[~2026-11-02 21:21 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-31  0:14 [OE-core][scarthgap 00/55] Patch review Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 01/55] scripts/install-buildtools: Update to 5.0.21 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 02/55] util-linux: patch CVE-2026-53614 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 03/55] util-linux: patch CVE-2026-53613 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 04/55] util-linux: patch CVE-2026-53612 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 05/55] util-linux: patch CVE-2024-28085 regression Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 06/55] util-linux: patch CVE-2026-78408 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 07/55] util-linux: patch CVE-2026-78410 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 08/55] util-linux: patch CVE-2026-76642 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 09/55] tzdata/tzcode-native: upgrade 2026d -> 2026e Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 10/55] expat: patch CVE-2026-102633 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 11/55] expat: patch CVE-2026-77214 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 12/55] popt: patch CVE-2026-18743 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 13/55] popt: patch CVE-2026-18739 Yoann Congal
2026-10-31 13:24   ` Jeroen Hofstee
2026-11-02 22:30     ` Yoann Congal
2026-11-03  7:24       ` Marko, Peter
2026-11-03  8:08         ` Yoann Congal
2026-11-04 17:06           ` Marko, Peter
2026-11-04 16:10         ` Jeroen Hofstee
     [not found]         ` <18E4E37A751FEE22.323135@lists.openembedded.org>
2026-11-04 16:25           ` Jeroen Hofstee
2026-10-31  0:14 ` [OE-core][scarthgap 14/55] glib-2.0: patch CVE-2026-15588 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 15/55] glib-2.0: patch CVE-2026-16118 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 16/55] libpng: patch CVE-2026-46675 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 17/55] go: fix CVE-2026-56862 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 18/55] libpcre2: update to latest release branch hash 50b3c0d7ce Yoann Congal
2026-11-02 11:00   ` Paul Barker
2026-11-03  7:49     ` Marko, Peter
2026-10-31  0:14 ` [OE-core][scarthgap 19/55] python3-urllib3: Fix CVE-2026-97689 Yoann Congal
2026-11-02 11:02   ` Paul Barker
2026-11-02 12:44     ` Yoann Congal
2026-11-02 21:21       ` Paul Barker [this message]
2026-10-31  0:14 ` [OE-core][scarthgap 20/55] python3-pyelftools: add python3-logging to RDEPENDS Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 21/55] glibc: patch CVE-2026-5928 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 22/55] glibc: patch CVE-2026-5450 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 23/55] glibc: patch CVE-2026-6791 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 24/55] glibc: patch CVE-2026-6368 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 25/55] glibc: patch CVE-2026-19542 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 26/55] glibc: patch CVE-2026-19499 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 27/55] glibc: patch CVE-2026-77117 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 28/55] glibc: patch CVE-2026-80489 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 29/55] glibc: add tests for CVE-2026-77117 and CVE-2026-80489 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 30/55] glibc: patch CVE-2026-18374 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 31/55] glibc: patch CVE-2026-8674 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 32/55] glibc: patch CVE-2026-89092 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 33/55] glibc: patch CVE-2026-97399 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 34/55] glibc: stable 2.39 branch updates to b7a0de2c8f Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 35/55] b4-config: Add configuration for scarthgap Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 36/55] dhcpcd: patch CVE-2025-70102 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 37/55] python3: upgrade 3.12.15 -> 3.12.16 Yoann Congal
2026-10-31  0:14 ` [OE-core][scarthgap 38/55] shadow-native: Disable syslog usage Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 39/55] gstreamer1.0: disable an intermittently failing test Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 40/55] gstreamer: skip test_queue:test_leaky_downstream test as it's flakey Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 41/55] linux-yocto/6.6: update to v6.6.156 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 42/55] linux-yocto/6.6: update to v6.6.157 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 43/55] linux-yocto/6.6: update to v6.6.159 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 44/55] linux-yocto/6.6: update to v6.6.160 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 45/55] linux-yocto/6.6: aufs: refresh to upstream aufs6.6.84 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 46/55] linux-yocto/6.6: update CVE exclusions (6.6.160) Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 47/55] curl: fix CVE-2026-80230 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 48/55] libarchive: fix CVE-2026-15028 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 49/55] systemd: try AT_EMPTY_PATH for access_fd() first Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 50/55] apr-util: Fix CVE-2025-49506 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 51/55] apr-util: Fix CVE-2026-32327 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 52/55] apr-util: Mark CVE-2026-34191 not applicable Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 53/55] apr-util: Fix CVE-2026-34501 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 54/55] apr-util: Fix CVE-2026-34502 Yoann Congal
2026-10-31  0:15 ` [OE-core][scarthgap 55/55] util-linux: patch CVE-2026-53615 Yoann Congal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01e34b7b659856ddc441fef77a655623f718d2bd.camel@pbarker.dev \
    --to=paul@pbarker.dev \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=yoann.congal@smile.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox