cURL: Off-by-one errors in URL handling
Gentoo Linux Security Advisory
||GLSA 200512-09 / cURL
||December 16, 2005
||December 16, 2005: 01
All supported architectures
cURL is vulnerable to local arbitrary code execution via buffer overflow
due to the insecure parsing of URLs.
cURL is a command line tool for transferring files with URL
syntax, supporting numerous protocols.
Stefan Esser from the Hardened-PHP Project has reported a
vulnerability in cURL that allows for a local buffer overflow when cURL
attempts to parse specially crafted URLs. The URL can be specially
crafted in one of two ways: the URL could be malformed in a way that
prevents a terminating null byte from being added to either a hostname
or path buffer; or the URL could contain a "?" separator in the
hostname portion, which causes a "/" to be prepended to the resulting
An attacker capable of getting cURL to parse a maliciously crafted
URL could cause a denial of service or execute arbitrary code with the
privileges of the user making the call to cURL. An attacker could also
escape open_basedir or safe_mode pseudo-restrictions when exploiting
this problem from within a PHP program when PHP is compiled with
There is no known workaround at this time.
All cURL users should upgrade to the latest version:
Code Listing 3.1: Resolution
# emerge --sync
# emerge --ask --oneshot --verbose ">=net-misc/curl-7.15.1"