Cloudanix VulnDB

CVE-2025-9086

High · 7.5

CVSS

7.5

EPSS

1.5%

Published

Sep 12, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in curl's cookie handling can let an attacker crash programs or interfere with secure website logins when a connection is downgraded from encrypted to plain-text.

Chainable
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Denial Of Service
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw triggers an out-of-bounds heap read during cookie path comparison when a secure cookie set over HTTPS is followed by an HTTP cookie with path=/ on the same host; the incorrect boundary check either crashes the process or allows the insecure cookie to incorrectly override the secure one based on adjacent heap memory contents.

Why it matters to the business

Applications using curl for HTTPS requests face risk of denial-of-service crashes or session-cookie tampering that can expose authenticated sessions or disrupt automated transfers; the issue affects any downstream software depending on the library.

How an attack unfolds

An attacker first ensures a secure cookie is set over HTTPS, then forces or redirects curl to the same hostname over plain HTTP while supplying a second cookie with path=/; the buggy path logic reads past the single-byte path allocation and either crashes or accepts the insecure override, contrary to the secure-cookie isolation rule.

How to fix it

Upgrade curl to the version containing commit 11b991232fbcaa88e2b1faecac224416b0001e35 or later; rebuild any statically linked dependents and re-test cookie-handling workflows after deployment.

How to confirm the fix worked

Confirm the installed curl binary reports a version built after commit 11b991232fbcaa88e2b1faecac224416b0001e35; replay the HTTPS-to-HTTP redirect cookie scenario in a controlled test and verify the secure cookie is not overridden and no crash occurs.

Typical attack path

  1. Establish a secure cookie on the target host over HTTPS
  2. Cause curl to follow a redirect or connect to the same host over HTTP
  3. Supply a cookie of the same name with path=/ over the insecure channel
  4. Trigger the path-comparison code path that performs the out-of-bounds read

How to detect it

Search process and application logs for curl segmentation faults or assertion failures immediately following HTTPS-to-HTTP redirects; inspect network traces for cookie headers containing path=/ sent over unencrypted channels to the same host that previously received a secure cookie.

What your security team should do

  • Prioritize patching curl in all environments within the next maintenance window
  • Scan build pipelines and container images for the vulnerable commit and replace with the fixed version
  • Add curl version checks to dependency scanners and CI gates
  • Monitor application logs for curl crashes correlated with HTTP redirects

The record

1. A cookie is set using the `secure` keyword for `https://target` 2. curl is redirected to or otherwise made to speak with `http://target` (same hostname, but using clear text HTTP) using the same cookie set 3. The same cookie name is set - but with just a slash as path (`path=\"/\",`). Since this site is not secure, the cookie *should* just be ignored. 4. A bug in the path comparison logic makes curl read outside a heap buffer boundary The bug either causes a crash or it potentially makes the comparison come to the wrong conclusion and lets the clear-text site override the contents of the secure cookie, contrary to expectations and depending on the memory contents immediately following the single-byte allocation that holds the path. The presumed and correct behavior would be to plainly ignore the second set of the cookie since it was already set as secure on a secure host so overriding it on an insecure host should not be okay.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 curl 0 7.61.1-34.el8_10.9
AlmaLinux:8 libcurl 0 7.61.1-34.el8_10.9
AlmaLinux:8 libcurl-devel 0 7.61.1-34.el8_10.9
AlmaLinux:8 libcurl-minimal 0 7.61.1-34.el8_10.9
Debian:11 curl 0 No fix
Debian:12 curl 0 No fix
Debian:13 curl 0 No fix
Debian:14 curl 0 No fix
Debian:14 curl 0 8.16.0~rc2-1
Mageia:9 curl 0 7.88.1-4.8.mga9
SUSE:Enterprise Storage 7.1 brotli 0 1.0.7-150200.3.5.1
SUSE:Enterprise Storage 7.1 curl 0 8.14.1-150200.4.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS curl 0 8.14.1-150200.4.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Installer Updates 15 SP4 curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Installer Updates 15 SP5 curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Micro 5.1 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Micro 5.1 curl 0 8.14.1-150200.4.91.1
SUSE:Linux Enterprise Micro 5.2 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Micro 5.2 curl 0 8.14.1-150200.4.91.1
SUSE:Linux Enterprise Micro 5.3 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Micro 5.3 curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Micro 5.4 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Micro 5.4 curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Micro 5.5 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Micro 5.5 curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 curl 0 8.14.1-150600.4.28.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 curl 0 8.14.1-150600.4.28.1
SUSE:Linux Enterprise Server 15 SP3-LTSS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Server 15 SP3-LTSS curl 0 8.14.1-150200.4.91.1
SUSE:Linux Enterprise Server 15 SP4-LTSS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Server 15 SP4-LTSS curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Server 15 SP5-LTSS brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Server 15 SP5-LTSS curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 curl 0 8.14.1-150200.4.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 brotli 0 1.0.7-150200.3.5.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 curl 0 8.14.1-150400.5.69.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 brotli 0 1.0.7-150200.3.5.1
SUSE:Manager Proxy LTS 4.3 brotli 0 1.0.7-150200.3.5.1
SUSE:Manager Proxy LTS 4.3 curl 0 8.14.1-150400.5.69.1
SUSE:Manager Server LTS 4.3 brotli 0 1.0.7-150200.3.5.1
SUSE:Manager Server LTS 4.3 curl 0 8.14.1-150400.5.69.1
openSUSE:Leap 15.6 brotli 0 1.0.7-150200.3.5.1
openSUSE:Leap 15.6 curl 0 8.14.1-150600.4.28.1
openSUSE:Leap 16.0 curl 0 8.14.1-160000.3.1
openSUSE:Tumbleweed curl 0 8.16.0-1.1

Related vulnerabilities