summaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-aiohttp
diff options
context:
space:
mode:
authorGyorgy Sarvari <skandigraun@gmail.com>2026-02-04 17:29:17 +0100
committerAnuj Mittal <anuj.mittal@oss.qualcomm.com>2026-02-05 06:59:39 +0530
commit0b467f2380024891a9689080bf2ddb7a14171da0 (patch)
tree07bd16983203d4ceff92a0d9c2fe729a7f800f1c /meta-python/recipes-devtools/python/python3-aiohttp
parentc24b8f9ced42391891b62f3d552424bb0f29eb54 (diff)
downloadmeta-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.patch49
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 @@
1From a4be27fe28e6cd833fa3045cca10404472d6878d Mon Sep 17 00:00:00 2001
2From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com>
3Date: Sat, 3 Jan 2026 00:39:41 +0000
4Subject: [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
9Co-authored-by: Sam Bull <git@sambull.org>
10
11CVE: CVE-2025-69225
12Upstream-Status: Backport [https://github.com/aio-libs/aiohttp/commit/c7b7a044f88c71cefda95ec75cdcfaa4792b3b96]
13Signed-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
19diff --git a/aiohttp/web_request.py b/aiohttp/web_request.py
20index 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
32diff --git a/tests/test_web_request.py b/tests/test_web_request.py
33index 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