Executive brief
A vulnerability exists in libcurl, a widely used library for transferring data over various network protocols. When an application using libcurl pauses a transfer during a specific internal event, the library may attempt to access memory that has already been released. This could lead to application crashes or potentially allow for unauthorized code execution, though the curl command-line tool itself is not affected.
Technical details
A use-after-free (UAF) vulnerability (CWE-416) exists in libcurl versions 8.13.0 through 8.20.0. The flaw is triggered when an application calls `curl_easy_pause()` from within the event-based `CURLMOPT_SOCKETFUNCTION` callback. In this scenario, libcurl attempts to store a flag using a dangling struct pointer immediately after that pointer's memory has been freed. While the curl command-line tool is unaffected, library users are at risk of memory corruption. The issue is fixed in version 8.21.0.
Affected products
- curl curl 8.13.0 to 8.20.0
Timeline
- 2026-05-19: disclosed: Reported to the curl project
- 2026-06-24: patched: Fixed in curl version 8.21.0
- 2026-06-24: advisory: Project curl security advisory published
- 2026-07-03: other: CVE record published to NVD