CVE-2026-111748: aiohttp Request scheme manipulation in absolute-form requests

CVE-2026-111748 · Severity: medium · CVSS 4 · Published 2026-10-19

AIOHTTP is an asynchronous HTTP framework for Python that handles both client and server functions. An attacker can craft malicious HTTP requests that cause the web server to misidentify whether a connection is encrypted (HTTPS) or unencrypted (HTTP), potentially tricking applications into making incorrect security decisions and exposing data or enabling man-in-the-middle attacks.

Technologies: Aio-Libs Aiohttp, aiohttp (PyPI). Vendors: Aio-Libs, PyPI.

Quick answers

Is CVE-2026-111748 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-111748 being exploited in the wild.
How severe is CVE-2026-111748?
Medium severity, with a CVSS score of 4, published 19 October 2026.
Which products and versions are affected?
Aio-Libs Aiohttp before 3.14.4; aiohttp (PyPI) <= 3.14.3, ECOSYSTEM:introduced=0,fixed=3.14.4.
Is there a fix for CVE-2026-111748?
Yes. aiohttp (PyPI): upgrade to 3.14.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-111748 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-111748?
Check whether you run Aio-Libs Aiohttp or aiohttp (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • aiohttp (PyPI): upgrade to 3.14.4 or later
    pip install "aiohttp>=3.14.4"

Technical details

The vulnerability exists in how the server parses absolute-form request targets (used in proxy requests): it incorrectly uses the scheme from the attacker-controlled request-target instead of the underlying connection protocol. An unauthenticated network attacker can craft an HTTP request with an absolute-form URI containing a different scheme (e.g., https://...) to cause Request.scheme to return a false value. Applications relying on Request.scheme for security decisions (HSTS, cookies, redirects) are affected. The fix ensures the protocol scheme is determined by the actual connection, not the request payload.

Affected products

  • aio-libs aiohttp before 3.14.4

Identifiers

  • CVE-2026-111748
  • GHSA-f9xw-jh8m-3mwq

Timeline

  • 2026-10-19: disclosed
  • 2026-10-05: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.