diff options
| author | Gyorgy Sarvari <skandigraun@gmail.com> | 2026-02-04 17:29:17 +0100 |
|---|---|---|
| committer | Anuj Mittal <anuj.mittal@oss.qualcomm.com> | 2026-02-05 06:59:39 +0530 |
| commit | 0b467f2380024891a9689080bf2ddb7a14171da0 (patch) | |
| tree | 07bd16983203d4ceff92a0d9c2fe729a7f800f1c /meta-python/recipes-devtools/python/python3-aiohttp | |
| parent | c24b8f9ced42391891b62f3d552424bb0f29eb54 (diff) | |
| download | meta-openembedded-0b467f2380024891a9689080bf2ddb7a14171da0.tar.gz | |
python3-aiohttp: patch CVE-2025-69225
Details: https://nvd.nist.gov/vuln/detail/CVE-2025-69225
Backport the patch that is referenced by the NVD report.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-aiohttp')
| -rw-r--r-- | meta-python/recipes-devtools/python/python3-aiohttp/CVE-2025-69225.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-aiohttp/CVE-2025-69225.patch b/meta-python/recipes-devtools/python/python3-aiohttp/CVE-2025-69225.patch new file mode 100644 index 0000000000..77b39d22dc --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-aiohttp/CVE-2025-69225.patch | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | From a4be27fe28e6cd833fa3045cca10404472d6878d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com> | ||
| 3 | Date: Sat, 3 Jan 2026 00:39:41 +0000 | ||
| 4 | Subject: [PATCH] Reject non-ascii digits in Range header (#11903) | ||
| 5 | |||
| 6 | **This is a backport of PR #11887 as merged into master | ||
| 7 | (7a067d1905e1eeb921a50010dd0004990dbb3bf0).** | ||
| 8 | |||
| 9 | Co-authored-by: Sam Bull <git@sambull.org> | ||
| 10 | |||
| 11 | CVE: CVE-2025-69225 | ||
| 12 | Upstream-Status: Backport [https://github.com/aio-libs/aiohttp/commit/c7b7a044f88c71cefda95ec75cdcfaa4792b3b96] | ||
| 13 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 14 | --- | ||
| 15 | aiohttp/web_request.py | 2 +- | ||
| 16 | tests/test_web_request.py | 7 +++++++ | ||
| 17 | 2 files changed, 8 insertions(+), 1 deletion(-) | ||
| 18 | |||
| 19 | diff --git a/aiohttp/web_request.py b/aiohttp/web_request.py | ||
| 20 | index 0bc69b7..6e09027 100644 | ||
| 21 | --- a/aiohttp/web_request.py | ||
| 22 | +++ b/aiohttp/web_request.py | ||
| 23 | @@ -607,7 +607,7 @@ class BaseRequest(MutableMapping[str, Any], HeadersMixin): | ||
| 24 | if rng is not None: | ||
| 25 | try: | ||
| 26 | pattern = r"^bytes=(\d*)-(\d*)$" | ||
| 27 | - start, end = re.findall(pattern, rng)[0] | ||
| 28 | + start, end = re.findall(pattern, rng, re.ASCII)[0] | ||
| 29 | except IndexError: # pattern was not found in header | ||
| 30 | raise ValueError("range not in acceptable format") | ||
| 31 | |||
| 32 | diff --git a/tests/test_web_request.py b/tests/test_web_request.py | ||
| 33 | index e706e18..da80ca9 100644 | ||
| 34 | --- a/tests/test_web_request.py | ||
| 35 | +++ b/tests/test_web_request.py | ||
| 36 | @@ -243,6 +243,13 @@ def test_range_to_slice_tail_stop() -> None: | ||
| 37 | assert req.content[req.http_range] == payload[-500:] | ||
| 38 | |||
| 39 | |||
| 40 | +def test_range_non_ascii() -> None: | ||
| 41 | + # ५ = DEVANAGARI DIGIT FIVE | ||
| 42 | + req = make_mocked_request("GET", "/", headers=CIMultiDict([("RANGE", "bytes=4-५")])) | ||
| 43 | + with pytest.raises(ValueError, match="range not in acceptable format"): | ||
| 44 | + req.http_range | ||
| 45 | + | ||
| 46 | + | ||
| 47 | def test_non_keepalive_on_http10() -> None: | ||
| 48 | req = make_mocked_request("GET", "/", version=HttpVersion(1, 0)) | ||
| 49 | assert not req.keep_alive | ||
