CVE-2025-69223: 
Wolfi vulnerability analysis and mitigation

Overview

CVE-2025-69223 is a zip bomb Denial of Service vulnerability in AIOHTTP, an asynchronous HTTP client/server framework for asyncio and Python. Versions 3.13.2 and below are affected; the issue was disclosed and published on January 5, 2026. An unauthenticated remote attacker can send a specially crafted compressed HTTP request that, when automatically decompressed by AIOHTTP's auto_decompress feature, exhausts the host's available memory. The vulnerability carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, aiohttp Security Advisory).

Technical details

The root cause is classified under CWE-409 (Improper Handling of Highly Compressed Data / Data Amplification) and CWE-770 (Allocation of Resources Without Limits or Throttling). AIOHTTP's HTTP parser DeflateBuffer class, used when auto_decompress is enabled, called decompress_sync() without enforcing any maximum output size limit, allowing a small compressed payload to expand into an arbitrarily large decompressed output. The fix (commit 2b920c3) introduces a DEFAULT_MAX_DECOMPRESS_SIZE of 32 MiB per decompress call and a new DecompressSizeError exception, applying the max_length parameter across ZLibDecompressor, BrotliDecompressor, and ZSTDDecompressor handlers. No authentication or special privileges are required; any network-accessible AIOHTTP server with decompression enabled is vulnerable (aiohttp Security Advisory, Patch Commit).

Impact

Successful exploitation results in complete availability loss of the affected AIOHTTP server process, as the host's memory is exhausted during decompression of the malicious payload. There is no confidentiality or integrity impact — the vulnerability is purely a Denial of Service. Downstream products embedding AIOHTTP as a dependency are also affected, including IBM watsonx Orchestrate Developer Edition, IBM Guardium Data Security Center, IBM Observability with Instana (OnPrem), and various Oracle products addressed in the April 2026 Critical Patch Update (GitHub Advisory, Oracle CPU Apr 2026).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of active in-the-wild exploitation at this time (GitHub Advisory). The vulnerability is exploitable by unauthenticated attackers over the network with low attack complexity, requiring no user interaction. The EPSS score is approximately 0.04–0.055%, placing it in the lower percentiles for near-term exploitation likelihood. The CVE is not currently listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

Exploitation steps

  1. Reconnaissance: Identify internet-facing services running AIOHTTP versions ≤ 3.13.2 using tools like Shodan, Censys, or banner-grabbing scripts targeting Python/asyncio HTTP servers.
  2. Craft a zip bomb payload: Create a highly compressed payload (e.g., using gzip or deflate) that expands to gigabytes of data when decompressed — a classic zip bomb (e.g., a nested or single-layer compressed file of repeated bytes).
  3. Send the malicious request: Submit an HTTP POST or PUT request to any endpoint on the vulnerable AIOHTTP server with the Content-Encoding: gzip (or deflate) header set and the zip bomb as the request body. Since auto_decompress is enabled by default, the server will attempt to decompress the payload.
  4. Trigger memory exhaustion: AIOHTTP's DeflateBuffer.feed_data() calls decompress_sync() without a size cap, causing the decompressed output to grow unbounded until the host's memory is exhausted, rendering the server unresponsive or crashing the process (aiohttp Security Advisory, Patch Commit).

Indicators of compromise

  • Network: Inbound HTTP requests with Content-Encoding: gzip, deflate, br, or zstd headers containing unusually small request bodies (high compression ratio); repeated requests from the same source IP targeting any endpoint.
  • Logs: AIOHTTP access logs showing requests with compressed content-encoding from unexpected sources; application crash logs or OOM (Out of Memory) killer events in system logs (/var/log/syslog, dmesg) referencing the AIOHTTP process.
  • Process/System: Sudden spike in memory consumption by the Python/AIOHTTP process leading to OOM conditions; process termination or restart events for the AIOHTTP service; system swap exhaustion or kernel OOM kill messages.

Mitigation and workarounds

Upgrade AIOHTTP to version 3.13.3 or later, which enforces a default maximum decompressed output size of 32 MiB per decompress call and raises a DecompressSizeError if the limit is exceeded (aiohttp Security Advisory, Patch Commit). If immediate patching is not possible, consider implementing request body size limits and decompression restrictions at the reverse proxy or WAF layer (e.g., nginx client_max_body_size, or rate-limiting compressed requests). Downstream product users should apply vendor-specific patches: IBM has released updates for watsonx Orchestrate, Guardium Data Security Center, and Instana; Oracle addressed the issue in the April 2026 Critical Patch Update; Red Hat has issued errata (RHSA-2026:1249, RHSA-2026:1497, RHSA-2026:1506, RHSA-2026:3462) for Ansible Automation Platform and related products.

Community reactions

The vulnerability was reported by security researcher charleswhchan and remediated by bdraco (J. Nick Koston), both credited in the GitHub Security Advisory. The fix was published simultaneously with the advisory on January 5, 2026, and the issue was noted in the oss-security mailing list shortly after disclosure. CISA included the vulnerability in its weekly vulnerability bulletin (SB26-012) for the week of January 5, 2026. Multiple Linux distributions (Ubuntu, openSUSE, Debian, SUSE) and enterprise vendors (IBM, Oracle, Red Hat, Splunk, Dell) subsequently issued their own advisories and patches, reflecting broad adoption of AIOHTTP across the ecosystem (GitHub Advisory).

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.3-1

Fixed

trixie

python-aiohttp: 3.11.16-1+deb13u1

Fixed

Ubuntu

Fixed

bionic (esm-apps)

python-aiohttp

Affected

devel

python-aiohttp

Not Affected

focal (esm-apps)

python-aiohttp

Affected

jammy

python-aiohttp

Affected

jammy (esm-apps)

python-aiohttp

Affected

noble

python-aiohttp

Affected

noble (esm-apps)

python-aiohttp

Affected

questing

python-aiohttp: 3.11.16-1ubuntu0.1

Fixed

RHEL / CentOS

Unknown

Alpine

Fixed

edge

py3-aiohttp: 3.13.3-r0

Fixed

v3.23

py3-aiohttp: 3.13.3-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