REDHAT-BUG-2548642: Use After Free

Published Oct 9, 2026
·
Updated

During an upload, curl mishandles HTTP/2 RSTSTREAM received from the server (with reason HTTP11REQUIRED or REFUSEDSTREAM) leading to a use after free of a struct Curleasy object.

INFO ----

This Use-After-Free flaw has been proven to be possible to convert into a Remote Code Execution if a set of specific criteria are met by the malicious server:

- the exact curl version object and structure layout used for the transfer is known and used to derive attack offsets; - exact architecture details of the running curl needs to be known - a known and compatible libc allocator build and heap layout - nghttp2 and OpenSSL/TLS 1.3 behavior, including allocation effects around session tickets - a pinned CA bundle and other input-dependent allocation geometry - two parallel transfers and their scheduling/timing need to remain - correctly calibrated libc leak and symbol offsets; and - the exploit's current short-command constraint (approximately 23 bytes).

The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2026-92392 to this issue.

CWE-416: Use After Free

Severity: High

This bug is considered a C mistake (likely to have been avoided had we not been using C).

AFFECTED VERSIONS -----------------

- Affected versions: curl 8.12.0 to and including 8.22.0 - Not affected versions: curl < 7.12.0 and >= 8.23.0 - Introduced-in: https://github.com/curl/curl/commit/cd9107e0128191b7b5396b

libcurl is used by many applications, but not always advertised as such!

This flaw also affects the curl command line tool.

SOLUTION --------

- Fixed-in: https://github.com/curl/curl/commit/

RECOMMENDATIONS ---------------

A - Upgrade curl to version 8.23.0

B - Apply the patch to your local version

C - Do not use HTTP/2

TIMELINE --------

This issue was reported to the curl project on September 15, 2026.

curl 8.23.0 was released on October 14, 2026, coordinated with the publication of this advisory.

CREDITS -------

- Reported-by: Luna with Claude, Anthropic - Patched-by: Stefan Eissing

Thanks a lot!

Affected Software

1 affected component
curl curl>=8.12.0<=8.22.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade curl to a version that resolves this vulnerability.

    Fixed in 8.23.0
  2. Configuration

    Do not use HTTP/2.

    curl/libcurl HTTP/2 = disabled

Event History

Oct 9, 2026
Data Sourced
via Red Hat·03:06 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What traffic pattern is required for exploitation?

The issue occurs during an upload over HTTP/2 when the server sends an RST_STREAM with either the HTTP_1_1_REQUIRED or REFUSED_STREAM reason. A malicious or compromised server would need to induce this condition.

2

How practical is remote code execution from this flaw?

Remote code execution has been demonstrated only when numerous environment-specific conditions are known and controlled, including the exact curl object layout, architecture, libc allocator and heap layout, nghttp2 and TLS 1.3 allocation behavior, and transfer timing. The described exploit also requires two parallel transfers and is currently limited to short commands of approximately 23 bytes.

3

What deployment details increase the exploit's feasibility?

The attacker needs knowledge of the precise curl version and structure layout, the system architecture, compatible libc details and symbol offsets, and allocation geometry affected by factors such as a pinned CA bundle. These requirements make exploitation dependent on the target's specific runtime environment.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203