Skip to main content

httplib2 CVE-2026-59939

| EUVDEUVD-2026-42364 HIGH
Improper Handling of Highly Compressed Data (Data Amplification) (CWE-409)
2026-07-08 GitHub_M GHSA-j5g9-f88f-gfj3 PYSEC-2026-3444
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Induce client to fetch attacker-controlled URL
  2. Delivery
    Server returns tiny gzip/deflate body
  3. Exploit
    httplib2 _decompressContent inflates unbounded
  4. Execution
    Client memory exhausted
  5. Impact
    MemoryError or OOM-kill of process

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
Exploitation Conditions

Exploitation requires that the victim application uses httplib2 (< 0.32.0) to make an HTTP(S) request to a server the attacker controls, has compromised, or can machine-in-the-middle, AND that httplib2 processes a response carrying Content-Encoding: gzip or deflate - which httplib2 decompresses automatically, so no special client configuration is needed. The concrete trigger is a compressed response body whose decompressed size vastly exceeds its wire size (a decompression bomb). Limiting factors: the attacker cannot initiate the request - the client must be induced to fetch attacker-influenced content, so this is server-response/reflected rather than a directly reachable service; impact is confined to availability (crash/OOM of the client process) with no code execution, data disclosure, or integrity impact; and processes protected by strict memory limits will crash and restart a single worker rather than compromise the host.

Impact

The supplied CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (base 7.5, HIGH) is internally consistent for a pure availability impact: network attack vector, low complexity, no privileges or user interaction, and no confidentiality or integrity impact (C:N/I:N). This is genuinely an availability-only DoS, not RCE or data exposure - the 7.5 is driven entirely by A:H. A meaningful caveat: exploitation requires the victim to make an HTTP request to a server the attacker controls or has compromised (or can machine-in-the-middle), so 'unauthenticated network' overstates how spontaneously this fires - it is reflected/server-side triggered rather than a listener an attacker reaches directly. The input Tags list 'Information Disclosure,' which conflicts with the CVSS C:N and the description (a memory-exhaustion crash, not disclosure) - that tag appears to be a mislabel and should be disregarded. No EPSS, KEV, or SSVC data was provided; there is no indication of active exploitation. Real-world priority is moderate: raise it for services that fetch attacker-influenced URLs (SSRF-adjacent fetchers, webhooks, crawlers, OAuth/metadata clients), lower it for clients that only talk to trusted first-party endpoints.

Exploit ScenarioDerived

An application uses httplib2 to retrieve a URL that an attacker can control or influence (for example a webhook target, a user-supplied avatar/URL fetcher, an OAuth token or metadata endpoint, or via a machine-in-the-middle position). The attacker's server responds with a tiny Content-Encoding: gzip body - a few kilobytes that decompresses to many gigabytes - and httplib2 inflates it fully into memory, driving the worker into MemoryError or an OS OOM-kill. No public exploit code is identified, but the payload is a trivially constructed compression bomb and requires no authentication or user interaction on the victim side.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 08, 2026

Denial of service in the httplib2 Python HTTP client library (all versions prior to 0.32.0) lets a malicious or compromised HTTP server crash the client by returning a small gzip- or deflate-compressed response body that expands without bound during automatic decompression, exhausting memory and triggering a MemoryError or OS OOM-kill. Any application that uses httplib2 to fetch content from untrusted or attacker-controllable endpoints is affected. No public exploit identified at time of analysis; EPSS not provided, but the class is trivially demonstrable and the fix is a one-line-scope behavioral change shipped in 0.32.0.

RemediationAI

Upgrade httplib2 to Vendor-released patch: 0.32.0 (https://github.com/httplib2/httplib2/releases/tag/v0.32.0), which bounds decompression of gzip/deflate response bodies; pin the dependency and rebuild any lockfiles / transitive requirements since httplib2 is frequently pulled in indirectly (e.g. by google-api-python-client and oauth2client). Details are in advisory GHSA-j5g9-f88f-gfj3 and commit 87581ad6cf752fe3da2090c59058261d2d00a427. If you cannot upgrade immediately, restrict the client to trusted first-party endpoints and avoid using httplib2 to fetch attacker-controllable URLs; where feasible, front outbound fetches with a proxy or wrapper that enforces a maximum response size and rejects or truncates oversized bodies, and run the process under a memory cgroup/ulimit so an OOM event kills and restarts a single worker rather than destabilizing the host - noting the trade-off that a hard memory cap or size limit can break legitimately large downloads. Disabling gzip/deflate by not advertising Accept-Encoding reduces the amplification surface but does not fully close it if a server sends compressed content regardless, and costs bandwidth.

Affected VersionsENISA

httplib2 < 0.32.0

Affected Packages

pypi httplib2 fix: 0.32.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

httplib2 is a widely-used, dependency-light Python HTTP client that transparently handles Content-Encoding. The flaw lives in _decompressContent in httplib2/__init__.py, which decompresses gzip/deflate response bodies in a single unbounded pass with no cap on the decompressed size relative to the compressed input. This is CWE-409 (Improper Handling of Highly Compressed Data / data amplification), the classic 'decompression bomb' / 'zip bomb' pattern: compression ratios for gzip/deflate can exceed 1000:1, so a few kilobytes on the wire can inflate to gigabytes in the client's address space. The root cause is that the client trusts the server's advertised encoding and decompresses eagerly into memory rather than streaming with a size limit.

Know when Httplib2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Network-delivered via a malicious server response with no auth or interaction on the client, availability-only memory-exhaustion impact, so A:H with C:N/I:N; scope unchanged as only the client process is affected.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

1
Patch available
Jul 08, 2026 - 21:04 EUVD

DescriptionCVE.org

httplib2 is a comprehensive HTTP client library for Python. Prior to 0.32.0, httplib2 performs unbounded decompression of HTTP response bodies encoded with Content-Encoding: gzip or deflate in _decompressContent in httplib2/init.py, allowing a malicious or compromised HTTP server to return a small compressed payload that expands to an arbitrarily large size in memory and causes MemoryError or OOM-kill in the client process. This issue is fixed in version 0.32.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 5,437 pypi packages depend on httplib2 (344 direct, 5,125 indirect)

Ecosystem-wide dependent count for version 0.32.0.

Executive ViewAI

Why It Matters

The httplib2 Python library contains a denial-of-service vulnerability affecting any application that downloads content from the internet. Attackers can crash affected applications by sending specially crafted HTTP responses, exposing services that depend on external data integration or third-party APIs to unplanned downtime. Organizations should immediately inventory affected systems and upgrade to httplib2 0.32.0 to maintain service availability.

Business Impact: High
Compensating Controls

Apply vendor patch: httplib2 0.32.0

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
High
widely-used lightweight Python HTTP client, common transitive dependency of Google API clients
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Module for Basesystem 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy