As reported by The Hacker News, the curl project has shipped a critical fix for CVE-2026-92392, a use-after-free vulnerability in its HTTP/2 upload handling that can be triggered by a malicious server to corrupt the memory of the uploading client. The researcher who reported the flaw demonstrated code execution, though curl notes that reliable RCE requires precise knowledge of the target's build and memory layout — meaning most real-world attacks would likely result in a crash rather than compromise. The fix landed in curl 8.23.0 on October 14, 2026, after the project compressed its release cycle by two weeks to expedite delivery.
Vulnerability Details
| Field | Detail |
|---|---|
| CVE | CVE-2026-92392 |
| Type | Use-after-free |
| Severity | High (curl's 4-level scale) |
| Affected Versions | curl and libcurl 8.12.0 through 8.22.0 |
| Fixed In | 8.23.0 (also 8.14.3, 8.16.2, 8.20.2 on LTS branches) |
| Attack Vector | Server-side: malicious HTTP/2 server triggers memory corruption in client during upload |
| Exploitation in the Wild | None reported; public PoC and Docker reproduction environment released |
| Platform Exposure | Systems with HTTP/2 support compiled in libcurl; HTTP/2 negotiated by default for https:// URLs |
Why This Matters More Than It Appears
While curl's own assessment that reliable code execution is unlikely may temper alarm, defenders should not underestimate the blast radius here. libcurl is one of the most widely embedded libraries in the software ecosystem — present in package managers, SDKs, CI/CD tooling, IoT firmware, mobile applications, and countless enterprise utilities. Any product that links libcurl with HTTP/2 support and ships a version between 8.12.0 and 8.22.0 is potentially vulnerable. The attack model is also unconventional: it requires the client to upload data to an attacker-controlled server, which inverts the typical threat model where clients are the targets. This means any workflow that pushes files to user-supplied or dynamically-resolved endpoints — file upload utilities, backup tools, telemetry agents, or even security scanners — could be weaponized if an attacker can MITM or control the destination.
The public release of a Docker-based reproduction environment alongside the advisory means that capability-level exploitation is now accessible to a broad audience, compressing the window between disclosure and practical weaponization.
Who Is Most Exposed
Shield53 Recommendations
Immediate Actions
- Patch all curl and libcurl installations to 8.23.0 (or the appropriate LTS backport: 8.14.3, 8.16.2, or 8.20.2). For Debian 13 trixie, apply DSA-6558-1.
- Inventory every product and dependency that bundles or statically links libcurl. Use
curl --versionand library scans to identify embedded versions across your estate — this is the hardest part and where most organizations will have blind spots. - If patching is not immediately possible, disable HTTP/2 by using
--http1.1for the CLI tool or settingCURLOPT_HTTP_VERSIONtoCURL_HTTP_VERSION_1_1in applications. Note curl's guidance that this is a request, not a guarantee — existing HTTP/2 connections may be reused. - Verify whether your libcurl build includes HTTP/2 support. Builds without HTTP/2 compiled in are not vulnerable to this specific path. Check build flags and recompile without HTTP/2 if the feature is not required.
- Restrict upload destinations in any tooling that uses curl to push data to endpoints. Enforce allowlists for upload targets to reduce the likelihood of connecting to a malicious server.
- Monitor for crash signatures in curl-using processes on systems that cannot be immediately patched. Unexpected crashes during HTTP/2 uploads may indicate attempted exploitation.
Broader Strategic Guidance
This is curl's first High-severity vulnerability since the SOCKS5 heap overflow of October 2023, and it arrives with a public PoC. Organizations should treat this as a supply-chain patching event — not a single-tool update. The real challenge is visibility: most teams cannot enumerate every libcurl instance across their infrastructure. If this patch cycle exposes that gap, use it as the catalyst to build a software composition analysis (SCA) practice that covers transitive and statically-linked dependencies, not just declared package manifests.