cURL is vulnerable to local arbitrary code execution via buffer overflow due to the insecure parsing of URLs.
|Package||net-misc/curl on all architectures|
|Affected versions||< 7.15.1|
|Unaffected versions||>= 7.15.1|
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 string.
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 libcurl.
There is no known workaround at this time.
All cURL users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=net-misc/curl-7.15.1"
December 16, 2005
December 16, 2005: 01