GPU VulnDB

Database/Kernel, userspace & hypervisor

libcurl: use-after-free when a TLS 1.3 session ticket arrives on a reused connection

CVSS 8.1CVE-2021-22901Kernel, userspace & hypervisorcurated

Impact

In curl 7.75.0 through 7.76.1 built against OpenSSL, libcurl stored a pointer to the transfer object for session-ticket callbacks. On a connection shared by multiple transfers (reused HTTP/1.1 or multiplexed HTTP/2), the first transfer can be freed before the session is established, so a ticket arriving later makes libcurl use freed memory and potentially call through a freed function pointer. A malicious server the client talks to can, in narrow circumstances, turn this into code execution in the client process. libcurl is the HTTP client underneath most node provisioning, image pulling, registry and telemetry paths, so the exposure is wherever fleet tooling fetches over TLS from a host an attacker influences. This is an old CVE and current distributions shipped fixes long ago; it is worth checking only on long-lived node images pinned to that curl range.

Who can reach it

Requires the client to connect to a server the attacker controls, over a connection carrying multiple transfers. No authentication. Not reachable by an attacker who cannot steer an outbound request.

What to do

Update curl/libcurl to 7.77.0 or the distribution's patched package and restart any long-running daemon that links libcurl (static binaries must be rebuilt). Rebuild node images pinned to the affected range; no reboot or firmware work is required.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.