CVE-2026-22815: 
Wolfi vulnerability analysis and mitigation

Overview

CVE-2026-22815 is a Denial of Service vulnerability in the aiohttp asynchronous HTTP client/server framework for Python, caused by insufficient restrictions in HTTP header and trailer handling that allow uncapped memory allocation. It affects all aiohttp versions up to and including 3.13.3, with the fix introduced in version 3.13.4. The vulnerability was reported by security researcher sg3-141-592, published on March 31, 2026, and assigned a CVSS v3.1 base score of 7.5 (High) and a CVSS v4.0 base score of 6.9 (Medium) (Github Advisory, Red Hat Bugzilla).

Technical details

The root cause is classified under CWE-400 (Uncontrolled Resource Consumption) and CWE-770 (Allocation of Resources Without Limits or Throttling). Prior to the fix, aiohttp's HTTP parser imposed no meaningful cap on the number of headers or trailer headers it would accept and accumulate in memory — the default max_headers value was set to 32,768, effectively unlimited in practice. The patch (commit 0c2e9da) introduces a max_headers parameter (defaulting to 128) for both HttpRequestParser and HttpResponseParser, and adds an explicit check that raises BadHttpMessage("Too many headers received") when the limit is exceeded. This flaw is exploitable by sending crafted HTTP requests or responses with an excessive number of headers, causing the application process to exhaust available memory (aiohttp Commit, Github Advisory).

Impact

Successful exploitation results in memory exhaustion on the affected server or client application, leading to a Denial of Service condition. There is no impact on confidentiality or integrity — the vulnerability is purely an availability issue. Applications acting as HTTP servers are vulnerable to attacker-controlled requests, while applications acting as HTTP clients (e.g., making requests to attacker-controlled servers) are vulnerable to crafted responses. Downstream IBM products incorporating aiohttp — including IBM Process Mining, IBM API Connect, IBM Guardium Data Security Center, IBM watsonx Code Assistant, and IBM Observability with Instana — are also affected (Github Advisory, Red Hat Bugzilla).

Exploitability

No public proof-of-concept exploit code or in-the-wild exploitation has been reported for this vulnerability. The EPSS score is approximately 0.04% (6th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires no authentication, no user interaction, and no special privileges — an attacker only needs network access to a vulnerable aiohttp endpoint (Github Advisory).

Exploitation steps

  1. Reconnaissance: Identify internet-facing services built on aiohttp versions ≤ 3.13.3 using banner grabbing, Shodan, or Censys searches for Python/aiohttp server signatures.
  2. Craft malicious HTTP request: Construct an HTTP request containing a very large number of headers (e.g., thousands of unique or repeated header fields), far exceeding typical limits.
  3. Send the request: Transmit the crafted request to the target aiohttp server endpoint. No authentication or special session state is required.
  4. Trigger memory exhaustion: The aiohttp parser accumulates all headers into memory without enforcing a cap, causing the server process's memory usage to grow unboundedly.
  5. Achieve DoS: Repeat or sustain the attack to exhaust available system memory, causing the aiohttp process to crash or become unresponsive, denying service to legitimate users (Github Advisory, aiohttp Commit).

Indicators of compromise

  • Network: Inbound HTTP requests with an abnormally large number of headers (hundreds to thousands) targeting aiohttp-based endpoints; repeated connections from the same source IP sending oversized header sets.
  • Logs: aiohttp access logs showing requests with unusually large header counts; application error logs containing BadHttpMessage: Too many headers received (only on patched versions that rejected the request).
  • Process/System: Rapid, sustained growth in memory consumption of the Python/aiohttp process; OOM (Out of Memory) killer events in system logs (/var/log/syslog or dmesg) referencing the aiohttp worker process; unexpected process crashes or restarts of the aiohttp service.

Mitigation and workarounds

Upgrade aiohttp to version 3.13.4 or later, which introduces a max_headers parameter (defaulting to 128) that enforces a hard cap on the number of headers processed per request or response (aiohttp Release). As a temporary workaround, deploying a reverse proxy (e.g., nginx or HAProxy) in front of the aiohttp application can mitigate the risk by enforcing header count and size limits at the proxy layer before requests reach the application (Github Advisory). IBM customers using affected products (Process Mining, API Connect, Guardium Data Security Center, watsonx Code Assistant, Instana) should apply the respective IBM interim fixes or patches as published in IBM security advisories.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

python-aiohttp

Affected

sid

python-aiohttp: 3.13.5-1

Fixed

trixie

python-aiohttp

Affected

Ubuntu

Fixed

bionic (esm-apps)

python-aiohttp: 3.0.1-1ubuntu0.1~esm7

Fixed

devel

python-aiohttp

Not Affected

focal (esm-apps)

python-aiohttp: 3.6.2-1ubuntu1+esm6

Fixed

jammy

python-aiohttp

Affected

jammy (esm-apps)

python-aiohttp: 3.8.1-4ubuntu0.2+esm3

Fixed

noble

python-aiohttp

Affected

noble (esm-apps)

python-aiohttp: 3.9.1-1ubuntu0.1+esm3

Fixed

resolute

python-aiohttp

Affected

RHEL / CentOS

Unknown

Alpine

Fixed

edge

py3-aiohttp: 3.13.5-r0

Fixed

v3.23

py3-aiohttp: 3.13.5-r0

Fixed

Source: This report was generated using AI

Related Wolfi vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-115567MEDIUM5.8
  • Rust logoRust
  • yazi
NoYesOct 23, 2026
CVE-2026-115892MEDIUM5.7
  • Rust logoRust
  • zed
NoYesOct 23, 2026
CVE-2026-115897LOW2.1
  • JavaScript logoJavaScript
  • serialize-javascript
NoYesOct 23, 2026
CVE-2026-115369LOW2.1
  • Wolfi logoWolfi
  • openbao
NoYesOct 22, 2026
CVE-2026-115366LOW2
  • Wolfi logoWolfi
  • openbao
NoYesOct 22, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management