Skip to content

GHSA-4m7w-qmgq-4wj5 CVE-2026-54275 PYSEC-2026-237

aiohttp: TLS Server Hostname Override Is Ignored When Reusing HTTPS Connections

High PyPI
Severity
0.0 / 10
High · CVSS 4.0
Exploit chance (EPSS)
0.47%
Chance of exploitation in the next 30 days. Higher than 40.70% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-297 Improper Validation of Certificate with Host Mismatch
Fix
3.14.1
Upgrade aiohttp to this version or later

Description

Summary

The server_hostname TLS SNI check can be bypassed when an existing connection is reused.

Impact

If an application makes multiple requests to the same domain, but with different per-request server_hostname parameters, then the later calls may succeed by reusing the existing connection when they should have been rejected due to the TLS SNI check.

Workaround

Disable keep_alive if you need to change the server_hostname check between requests.


Patch: https://github.com/aio-libs/aiohttp/commit/0ca2b6c28a25726527a8b60f25960262a91ed0e0

Affected versions

PyPI

PackageVulnerableFixed in
aiohttp
< 3.14.1
3.14.1

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

aiohttp PyPI → 3.14.1

pip
pip install --upgrade "aiohttp>=3.14.1"
poetry
poetry add "aiohttp>=3.14.1"
uv
uv add "aiohttp>=3.14.1"

Severity breakdown

CVSS 4.0 0.0

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:U

Attack vector
Network
Attack complexity
Low
Attack requirements
None
Privileges required
None
User interaction
None
Confidentiality (vulnerable system)
Low
Integrity (vulnerable system)
Low
Availability (vulnerable system)
None
Confidentiality (subsequent systems)
None
Integrity (subsequent systems)
None
Availability (subsequent systems)
None
Exploit maturity
Unreported

CVSS 3.1 7.5

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Weakness

CWE-297: Improper Validation of Certificate with Host Mismatch

The product communicates with a host that provides a certificate, but the product does not properly ensure that the certificate is actually associated with that host.

How to prevent it
  • Architecture and Design: Fully check the hostname of the certificate and provide the user with adequate information about the nature of the problem and how to proceed.
  • Implementation: If certificate pinning is being used, ensure that all relevant properties of the certificate are fully validated before the certificate is pinned, including the hostname.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-pqxq-w44r-73xw
AIOHTTP: Pure-Python parser request smuggling
Medium Also affects aiohttp
GHSA-gx76-c99x-2c96
AIOHTTP: Cookie from subdomain can remove Host-Only Scope from existing cookies
Low Also affects aiohttp
GHSA-f9xw-jh8m-3mwq
AIOHTTP: Absolute-form request targets can spoof Request.scheme
Medium Also affects aiohttp
GHSA-9xw5-w5jj-pvcg
AIOHTTP: File descriptor exhaustion in multipart requests
High Also affects aiohttp
GHSA-6cjc-53gc-5rqm
AIOHTTP: Connector pool exhaustion via Max-Age overflow
Medium Also affects aiohttp
GHSA-5wr8-gcqf-gqf3
aiohttp server lacks an initial request/header timeout
High Also affects aiohttp
GHSA-494j-54xm-rwp3
AIOHTTP: Secure attribute not enforced for shared cookie
Medium Also affects aiohttp
GHSA-2g87-pp6c-29x5
aiohttp: Multiple instances of excessive or unbounded memory/CPU use
High Also affects aiohttp
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor