CVE-2026-10536

Aliases:DEBIAN-CVE-2026-10536ALPINE-CVE-2026-10536CGA-37hw-f29f-g24fCGA-42p6-f757-5hw4CGA-4gv4-xv73-q68wCGA-5p6x-35xh-44p6CGA-67rh-q9wm-g5rgCGA-73ff-3x37-fvh4CGA-7xv3-3mwr-7wj4CGA-f76q-xqcm-f2w9CGA-fhg8-h9hc-f924CGA-h2fp-wj3w-6j7wCGA-h59w-c546-w8rgCGA-hc6m-j4f5-3p7rCGA-hr9g-9pf2-747rCGA-jf38-654f-q3vhCGA-m2hw-r9gj-597qCGA-qvf2-2xff-cv8wCGA-r2x3-cx88-6xgvCGA-r6jr-v7q2-qjpvCGA-v5m6-37qr-6j7cCGA-wqgm-j6m8-r697
Modified
Published: 03 Jul 2026, 06:11
Last modified:15 Sept 2026, 06:02

Vulnerability Summary

Overall Risk (default)
high
70/100
CVSS Score
9.8 CRITICAL
v3.1 (cve.org)
EPSS Score
0.6% LOW
1% probability 0.00%
KEV
Not listed
Ransomware
No reports
Public exploits
1 found
Dark Web
Not detected

Timeline

03 Jul 2026, 06:11
Published
Vulnerability first disclosed
15 Sept 2026, 06:02
Last Modified
Vulnerability information updated

Description

A use-after-free vulnerability exists in libcurl when an application configures an HTTP/2 stream-dependency tree via `CURLOPT_STREAM_DEPENDS` or `CURLOPT_STREAM_DEPENDS_E`, subsequently invokes `curl_easy_reset()`, and finally terminates the handle with `curl_easy_cleanup()`. During this final cleanup phase, libcurl attempts to access and modify an internal structure that was already freed during the reset operation.

CVSS Metrics

  • v3.1CRITICALScore: 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

EPSS Trends

Current EPSS score: 0.60% Percentile: 47%

Techniques & Countermeasures

  • CWE-416Use After Free

    The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.

Affected Systems

  • alpinecurl

    ≥ 7.88.0, < 8.22.0-r0 | ≥ 7.88.0, < 8.21.0-r0

  • chainguardeco-python-curl

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-bin

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-dev

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-doc

    < 8.21.0-r0

  • chainguardeco-python-curl-minimal-static

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2-bin

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2-dev

    < 8.21.0-r0

  • chainguardeco-python-curl-nghttp2-static

    < 8.21.0-r0

  • curlcurl

    8.20.0 | 8.19.0 | 8.18.0 | 8.17.0 | 8.16.0 | 8.15.0 | 8.14.1 | 8.14.0 | 8.13.0 | 8.12.1 | 8.12.0 | 8.11.1 | 8.11.0 | 8.10.1 | 8.10.0 | 8.9.1 | 8.9.0 | 8.8.0 | 8.7.1 | 8.7.0 | 8.6.0 | 8.5.0 | 8.4.0 | 8.3.0 | 8.2.1 | 8.2.0 | 8.1.2 | 8.1.1 | 8.1.0 | 8.0.1 | 8.0.0 | 7.88.1 | 7.88.0 | ≥ 7.88.0, < 8.14.2 | ≥ 8.15.0, < 8.16.1 | ≥ 8.17.0, < 8.20.1 | ≥ 71b7e0161032927cdfb4e75ea40f65b8898b3956, < bfbff7852f050232edd3e5ca5c6bf2021c340f5a | 8.20.0 | 8.19.0 | 8.18.0 | 8.17.0 | 8.16.0 | 8.15.0 | 8.14.1 | 8.14.0 | 8.13.0 | 8.12.1 | 8.12.0 | 8.11.1 | 8.11.0 | 8.10.1 | 8.10.0 | 8.9.1 | 8.9.0 | 8.8.0 | 8.7.1 | 8.7.0 | 8.6.0 | 8.5.0 | 8.4.0 | 8.3.0 | 8.2.1 | 8.2.0 | 8.1.2 | 8.1.1 | 8.1.0 | 8.0.1 | 8.0.0 | 7.88.1 | 7.88.0

  • debiancurl

    all | all | < 8.21.0~rc2-1

  • haxxcurl

    ≥ 7.88.0, < 8.21.0

References (7)