CVE-2025-0725
NoneCVSS
—
EPSS
1.8%
Published
Feb 5, 2025
CISA due date
—
Cloudanix analysis
A problem in some software that automatically unpacks compressed web pages could let attackers take control of computers that have not been updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Other
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow during automatic gzip decompression of HTTP responses when CURLOPT_ACCEPT_ENCODING is enabled with zlib 1.2.0.3 or older, resulting in a heap buffer overflow in libcurl.
Why it matters to the business
Attackers could execute arbitrary code on systems using affected libcurl versions, leading to potential data breaches, service disruption, or full system compromise; the rising exploit probability increases urgency for organizations relying on curl-based tools or libraries.
How an attack unfolds
An attacker positions a malicious HTTP server that returns a specially crafted gzip-encoded response. When a vulnerable libcurl client requests the resource with automatic decompression enabled, the integer overflow occurs during zlib processing and overwrites memory, allowing code execution.
How to fix it
Upgrade libcurl to the version containing commit 76f83f0db23846e254d940ec7 or later; if an upgrade is not immediately possible, disable CURLOPT_ACCEPT_ENCODING or ensure a newer zlib version (>1.2.0.3) is linked.
How to confirm the fix worked
Verify the installed libcurl version reports the fix commit or later; test by sending gzip responses while monitoring for crashes or unexpected memory behavior; confirm zlib linkage is newer than 1.2.0.3.
Typical attack path
- Identify target applications or scripts that use libcurl with CURLOPT_ACCEPT_ENCODING enabled
- Host or compromise a web server returning malicious gzip-compressed HTTP responses
- Trigger the client to fetch the resource, causing the integer-to-buffer overflow during decompression
- Leverage the resulting memory corruption to execute attacker-controlled code or crash the process
How to detect it
Review application logs for crashes or segmentation faults during HTTP response handling; inspect process memory dumps or core files around zlib decompression routines; correlate with outbound requests that accept gzip encoding.
What your security team should do
- Prioritize patching libcurl in all environments within the next 30 days given the 42% EPSS increase
- Inventory applications and dependencies that link against libcurl and enable automatic content decoding
- Apply the fixed commit 76f83f0db23846e254d940ec7 or equivalent release across the fleet
- Temporarily disable automatic decompression where feasible until patches are deployed
The record
When libcurl is asked to perform automatic gzip decompression of content-encoded HTTP responses with the `CURLOPT_ACCEPT_ENCODING` option, **using zlib 1.2.0.3 or older**, an attacker-controlled integer overflow would make libcurl perform a buffer overflow.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.18 | curl | 0 | 8.12.0-r0 |
| Alpine:v3.19 | curl | 0 | 8.12.0-r0 |
| Alpine:v3.20 | curl | 0 | 8.12.0-r0 |
| Alpine:v3.21 | curl | 0 | 8.12.0-r0 |
| Alpine:v3.22 | curl | 0 | 8.12.0-r0 |
| Chainguard | curl | 0 | 8.12.0-r0 |
| Chainguard | curl-dev | 0 | 8.12.0-r0 |
| Chainguard | curl-doc | 0 | 8.12.0-r0 |
| Chainguard | curl-oci-entrypoint | 0 | 8.12.0-r0 |
| Chainguard | curl-static | 0 | 8.12.0-r0 |
| Chainguard | libcurl-openssl4 | 0 | 8.12.0-r0 |
| Chainguard | libcurl4 | 0 | 8.12.0-r0 |
| Debian:11 | curl | 0 | No fix |
| Debian:12 | curl | 0 | No fix |
| Debian:13 | curl | 0 | No fix |
| Debian:13 | curl | 0 | 8.12.0+git20250209.89ed161+ds-1 |
| Mageia:9 | curl | 0 | 7.88.1-4.6.mga9 |
| SUSE:Enterprise Storage 7.1 | curl | 0 | 7.66.0-150200.4.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | curl | 0 | 7.66.0-150200.4.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Installer Updates 15 SP4 | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Installer Updates 15 SP5 | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Micro 5.1 | curl | 0 | 7.66.0-150200.4.84.1 |
| SUSE:Linux Enterprise Micro 5.2 | curl | 0 | 7.66.0-150200.4.84.1 |
| SUSE:Linux Enterprise Micro 5.3 | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Micro 5.4 | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Micro 5.5 | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | curl | 0 | 8.6.0-150600.4.21.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | curl | 0 | 8.0.1-11.105.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | curl | 0 | 7.66.0-150200.4.84.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | curl | 0 | 8.0.1-150400.5.62.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | curl | 0 | 8.0.1-11.105.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | curl | 0 | 7.66.0-150200.4.84.1 |
| SUSE:Manager Server 4.3 | curl | 0 | 8.0.1-150400.5.62.1 |
| Wolfi | curl | 0 | 8.12.0-r0 |
| Wolfi | curl-dev | 0 | 8.12.0-r0 |
| Wolfi | curl-doc | 0 | 8.12.0-r0 |
| Wolfi | curl-oci-entrypoint | 0 | 8.12.0-r0 |
| Wolfi | curl-static | 0 | 8.12.0-r0 |
| Wolfi | libcurl-openssl4 | 0 | 8.12.0-r0 |
| Wolfi | libcurl4 | 0 | 8.12.0-r0 |
| openSUSE:Leap 15.6 | curl | 0 | 8.6.0-150600.4.21.1 |
Related vulnerabilities
- CVE-2025-0167 When asked to use a `.netrc` file for credentials **and** to follow HTTP redirects, curl… Also affects curl
- CVE-2025-0665 libcurl would wrongly close the same eventfd file descriptor twice when taking down a… Also affects curl
- CVE-2024-11053 When asked to both use a `.netrc` file for credentials and to follow HTTP redirects, curl… Also affects curl
- CVE-2024-9681 When curl is asked to use HSTS, the expiry time for a subdomain might overwrite a parent… Also affects curl
- CVE-2024-8096 When curl is told to use the Certificate Status Request TLS extension, often referred to… Also affects curl
- CVE-2023-46219 When saving HSTS data to an excessively long file name, curl could end up removing all… Also affects curl
- CVE-2023-46218 This flaw allows a malicious HTTP server to set "super cookies" in curl that are then… Also affects curl
- CVE-2023-38545 This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake. Also affects curl