CVE Vulnerabilities

CVE-2025-9086

Out-of-bounds Read

Published: Sep 12, 2025 | Modified: Jan 20, 2026
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
5.3 MODERATE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo
  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.

Weakness

The product reads data past the end, or before the beginning, of the intended buffer.

Affected Software

NameVendorStart VersionEnd Version
CurlHaxx8.13.0 (including)8.16.0 (excluding)
Red Hat Enterprise Linux 10.0 Extended Update SupportRedHatcurl-0:8.12.1-1.el10_0.4*
Red Hat Enterprise Linux 8RedHatcurl-0:7.61.1-34.el8_10.9*
Red Hat Enterprise Linux 9RedHatcurl-0:7.76.1-35.el9_7.3*
Red Hat Enterprise Linux 9RedHatcurl-0:7.76.1-35.el9_7.3*
Red Hat Enterprise Linux 9.0 Update Services for SAP SolutionsRedHatcurl-0:7.76.1-14.el9_0.12*
Red Hat Enterprise Linux 9.2 Update Services for SAP SolutionsRedHatcurl-0:7.76.1-23.el9_2.8*
Red Hat Enterprise Linux 9.4 Extended Update SupportRedHatcurl-0:7.76.1-29.el9_4.3*
Red Hat Enterprise Linux 9.6 Extended Update SupportRedHatcurl-0:7.76.1-31.el9_6.2*
CurlUbuntudevel*
CurlUbuntuesm-infra-legacy/trusty*
CurlUbuntuesm-infra/bionic*
CurlUbuntuesm-infra/focal*
CurlUbuntuesm-infra/xenial*
CurlUbuntujammy*
CurlUbuntunoble*
CurlUbuntuplucky*
CurlUbuntuquesting*
CurlUbuntuupstream*

Potential Mitigations

  • Assume all input is malicious. Use an “accept known good” input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
  • When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, “boat” may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as “red” or “blue.”
  • Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code’s environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
  • To reduce the likelihood of introducing an out-of-bounds read, ensure that you validate and ensure correct calculations for any length argument, buffer size calculation, or offset. Be especially careful of relying on a sentinel (i.e. special character such as NUL) in untrusted inputs.

References