curl / Docs / curl CVEs / HTTP proxy double free

CVE-2022-42915

HTTP proxy double free

Project curl Security Advisory, October 26 2022 - Permalink

VULNERABILITY

If curl is told to use an HTTP proxy for a transfer with a non-HTTP(S) URL, it sets up the connection to the remote server by issuing a CONNECT request to the proxy, and then tunnels the rest of protocol through.

An HTTP proxy might refuse this request (HTTP proxies often only allow outgoing connections to specific port numbers, like 443 for HTTPS) and instead return a non-200 response code to the client.

Due to flaws in the error/cleanup handling, this could trigger a double free in curl if one of the following schemes were used in the URL for the transfer: dict, gopher, gophers, ldap, ldaps, rtmp, rtmps, telnet

INFO

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

CWE-415: Double Free

Severity: medium

AFFECTED VERSIONS

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

SOLUTION

RECOMMENDATIONS

A - Upgrade curl to version 7.86.0

B - Apply the patch to your local version

C - Do not do use HTTP proxy

TIMELINE

This issue was reported to the curl project on October 4, 2022. We contacted distros@openwall on October 18, 2022.

libcurl 7.86.0 was released on October 26 2022, coordinated with the publication of this advisory.

CREDITS

This report was part of the security audit performed by Trail of Bits.

Thanks a lot!