python-aiohttp — security advisory
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.1, DigestAuthMiddleware can send an authentication response after following a cross-origin redirect. This likely requires an open redirect vulnerability or similar on the target domain for an attacker to be able to execute. Further, the attacker is only receiving the digest, so should only be able to extract the user's credentials if the cryptography is weak or there is some kind of password reuse. This vulnerability is fixed in 3.14.1.
- Products
- python-aiohttp
- Affected versions
- 0.17.2-1, 0.17.4-1, 0.17.4-1build1, 0.20.2-1, 0.20.2-1ubuntu0.1~esm1, 2.2.3-1build1, 2.2.3-2, 2.3.6-1, 3.0.1-1, 3.0.1-1ubuntu0.1~esm1, 3.0.1-1ubuntu0.1~esm4, 3.0.1-1ubuntu0.1~esm5, 3.0.1-1ubuntu0.1~esm6, 3.0.1-1ubuntu0.1~esm7, 3.10.11-1build1, 3.11.16-1, 3.11.16-1ubuntu0.1, 3.13.1-1, 3.13.3-3, 3.13.3-3ubuntu1, 3.13.3-3ubuntu1+esm1, 3.14.1-4, 3.14.1-5, 3.14.3-1, 3.5.4-1, 3.5.4-1build1, 3.6.1-1, 3.6.2-1, 3.6.2-1build1, 3.6.2-1ubuntu0.1~esm1, 3.6.2-1ubuntu1, 3.6.2-1ubuntu1+esm1, 3.6.2-1ubuntu1+esm3, 3.6.2-1ubuntu1+esm4, 3.6.2-1ubuntu1+esm5, 3.6.2-1ubuntu1+esm6, 3.7.4-1, 3.7.4-1build2, 3.8.1-3, 3.8.1-4, 3.8.1-4build1, 3.8.1-4ubuntu0.2, 3.8.1-4ubuntu0.2+esm1, 3.8.1-4ubuntu0.2+esm2, 3.8.1-4ubuntu0.2+esm3, 3.8.4-1, 3.9.1-1, 3.9.1-1build1, 3.9.1-1ubuntu0.1, 3.9.1-1ubuntu0.1+esm1, 3.9.1-1ubuntu0.1+esm2, 3.9.1-1ubuntu0.1+esm3
- Fixed versions
- Not specified
- CVEs
- CVE-2026-54276
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 02:28 UTC · Revision 1
Source evidence
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.1, DigestAuthMiddleware can send an authentication response after following a cross-origin redirect. This likely requires an open redirect vulnerability or similar on the target domain for an attacker to be able to execute. Further, the attacker is only receiving the digest, so should only be able to extract the user's credentials if the cryptography is weak or there is some kind of password reuse. This vulnerability is fixed in 3.14.1.
osv:UBUNTU-CVE-2026-54276
python-aiohttp
Fixed versions: Not specified
python-aiohttp
Fixed versions: Not specified
python-aiohttp
Fixed versions: Not specified
python-aiohttp
Fixed versions: Not specified
python-aiohttp
Fixed versions: Not specified
python-aiohttp
Fixed versions: Not specified
python-aiohttp
Fixed versions: Not specified
python-aiohttp
Fixed versions: Not specified
Complete source record
{
"id": "800b4b483dac2866347c6b42449a321d312a3006f9d1cc672b1b98fa492f60e7",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-54276",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2026-54276",
"summary": "AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.1, DigestAuthMiddleware can send an authentication response after following a cross-origin redirect. This likely requires an open redirect vulnerability or similar on the target domain for an attacker to be able to execute. Further, the attacker is only receiving the digest, so should only be able to extract the user's credentials if the cryptography is weak or there is some kind of password reuse. This vulnerability is fixed in 3.14.1.",
"evidence": "osv:UBUNTU-CVE-2026-54276",
"products": [
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.17.2-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.17.4-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.17.4-1build1",
"evidence": "/affected/0/versions"
},
{
"value": "0.20.2-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.20.2-1ubuntu0.1~esm1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.2.3-1build1",
"evidence": "/affected/1/versions"
},
{
"value": "2.2.3-2",
"evidence": "/affected/1/versions"
},
{
"value": "2.3.6-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.0.1-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.0.1-1ubuntu0.1~esm1",
"evidence": "/affected/1/versions"
},
{
"value": "3.0.1-1ubuntu0.1~esm4",
"evidence": "/affected/1/versions"
},
{
"value": "3.0.1-1ubuntu0.1~esm5",
"evidence": "/affected/1/versions"
},
{
"value": "3.0.1-1ubuntu0.1~esm6",
"evidence": "/affected/1/versions"
},
{
"value": "3.0.1-1ubuntu0.1~esm7",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.5.4-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.5.4-1build1",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.1-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1build1",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1ubuntu0.1~esm1",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1ubuntu1",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1ubuntu1+esm1",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1ubuntu1+esm3",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1ubuntu1+esm4",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1ubuntu1+esm5",
"evidence": "/affected/2/versions"
},
{
"value": "3.6.2-1ubuntu1+esm6",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.7.4-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.7.4-1build2",
"evidence": "/affected/3/versions"
},
{
"value": "3.8.1-3",
"evidence": "/affected/3/versions"
},
{
"value": "3.8.1-4",
"evidence": "/affected/3/versions"
},
{
"value": "3.8.1-4build1",
"evidence": "/affected/3/versions"
},
{
"value": "3.8.1-4ubuntu0.2",
"evidence": "/affected/3/versions"
},
{
"value": "3.8.1-4ubuntu0.2+esm1",
"evidence": "/affected/3/versions"
},
{
"value": "3.8.1-4ubuntu0.2+esm2",
"evidence": "/affected/3/versions"
},
{
"value": "3.8.1-4ubuntu0.2+esm3",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.8.4-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.9.1-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.9.1-1build1",
"evidence": "/affected/4/versions"
},
{
"value": "3.9.1-1ubuntu0.1",
"evidence": "/affected/4/versions"
},
{
"value": "3.9.1-1ubuntu0.1+esm1",
"evidence": "/affected/4/versions"
},
{
"value": "3.9.1-1ubuntu0.1+esm2",
"evidence": "/affected/4/versions"
},
{
"value": "3.9.1-1ubuntu0.1+esm3",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.10.11-1build1",
"evidence": "/affected/5/versions"
},
{
"value": "3.11.16-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.11.16-1ubuntu0.1",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.13.3-3ubuntu1",
"evidence": "/affected/6/versions"
},
{
"value": "3.14.1-4",
"evidence": "/affected/6/versions"
},
{
"value": "3.14.1-5",
"evidence": "/affected/6/versions"
},
{
"value": "3.14.3-1",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "python-aiohttp",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.11.16-1",
"evidence": "/affected/7/versions"
},
{
"value": "3.13.1-1",
"evidence": "/affected/7/versions"
},
{
"value": "3.13.3-3",
"evidence": "/affected/7/versions"
},
{
"value": "3.13.3-3ubuntu1",
"evidence": "/affected/7/versions"
},
{
"value": "3.13.3-3ubuntu1+esm1",
"evidence": "/affected/7/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2026-54276",
"aliases": [
"UBUNTU-CVE-2026-54276"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=esm-apps-legacy%2Fxenial",
"ecosystem": "Ubuntu:Pro:16.04:LTS"
},
"versions": [
"0.17.2-1",
"0.17.4-1",
"0.17.4-1build1",
"0.20.2-1",
"0.20.2-1ubuntu0.1~esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "0.20.2-1ubuntu0.1~esm1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=esm-apps%2Fbionic",
"ecosystem": "Ubuntu:Pro:18.04:LTS"
},
"versions": [
"2.2.3-1build1",
"2.2.3-2",
"2.3.6-1",
"3.0.1-1",
"3.0.1-1ubuntu0.1~esm1",
"3.0.1-1ubuntu0.1~esm4",
"3.0.1-1ubuntu0.1~esm5",
"3.0.1-1ubuntu0.1~esm6",
"3.0.1-1ubuntu0.1~esm7"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "3.0.1-1ubuntu0.1~esm7"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=esm-apps%2Ffocal",
"ecosystem": "Ubuntu:Pro:20.04:LTS"
},
"versions": [
"3.5.4-1",
"3.5.4-1build1",
"3.6.1-1",
"3.6.2-1",
"3.6.2-1build1",
"3.6.2-1ubuntu0.1~esm1",
"3.6.2-1ubuntu1",
"3.6.2-1ubuntu1+esm1",
"3.6.2-1ubuntu1+esm3",
"3.6.2-1ubuntu1+esm4",
"3.6.2-1ubuntu1+esm5",
"3.6.2-1ubuntu1+esm6"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "3.6.2-1ubuntu1+esm6"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=esm-apps%2Fjammy",
"ecosystem": "Ubuntu:Pro:22.04:LTS"
},
"versions": [
"3.7.4-1",
"3.7.4-1build2",
"3.8.1-3",
"3.8.1-4",
"3.8.1-4build1",
"3.8.1-4ubuntu0.2",
"3.8.1-4ubuntu0.2+esm1",
"3.8.1-4ubuntu0.2+esm2",
"3.8.1-4ubuntu0.2+esm3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "3.8.1-4ubuntu0.2+esm3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=esm-apps%2Fnoble",
"ecosystem": "Ubuntu:Pro:24.04:LTS"
},
"versions": [
"3.8.4-1",
"3.9.1-1",
"3.9.1-1build1",
"3.9.1-1ubuntu0.1",
"3.9.1-1ubuntu0.1+esm1",
"3.9.1-1ubuntu0.1+esm2",
"3.9.1-1ubuntu0.1+esm3"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "3.9.1-1ubuntu0.1+esm3"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"3.10.11-1build1",
"3.11.16-1",
"3.11.16-1ubuntu0.1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "3.11.16-1ubuntu0.1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"3.13.3-3ubuntu1",
"3.14.1-4",
"3.14.1-5",
"3.14.3-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "3.14.3-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python-aiohttp",
"purl": "pkg:deb/ubuntu/python-aiohttp?arch=source&distro=esm-apps%2Fresolute",
"ecosystem": "Ubuntu:Pro:26.04:LTS"
},
"versions": [
"3.11.16-1",
"3.13.1-1",
"3.13.3-3",
"3.13.3-3ubuntu1",
"3.13.3-3ubuntu1+esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54276.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-aiohttp",
"binary_version": "3.13.3-3ubuntu1+esm1"
}
]
}
}
],
"modified": "2026-10-17T12:58:35.490949002Z",
"provider": "osv",
"upstream": [
"CVE-2026-54276"
],
"references": [
"https://ubuntu.com/security/CVE-2026-54276",
"https://www.cve.org/CVERecord?id=CVE-2026-54276",
"https://github.com/aio-libs/aiohttp/security/advisories/GHSA-hpj7-wq8m-9hgp"
]
},
"related_cves": [
{
"value": "CVE-2026-54276",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 358825,
"published_at": "2026-06-22T18:16:00+00:00"
}