cURL Remote Buffer Overflow Vulnerability
BID:1804
Info
cURL Remote Buffer Overflow Vulnerability
| Bugtraq ID: | 1804 |
| Class: | Boundary Condition Error |
| CVE: | |
| Remote: | Yes |
| Local: | No |
| Published: | Oct 13 2000 12:00AM |
| Updated: | Oct 13 2000 12:00AM |
| Credit: | This vulnerability was reported to bugtraq by Wichert Akkerman <[email protected]> on Fri, 13 Oct, 2000. |
| Vulnerable: |
Daniel Stenberg curl 7.4 Daniel Stenberg curl 7.3 Daniel Stenberg curl 7.2.1 Daniel Stenberg curl 7.2 Daniel Stenberg curl 7.1.1 Daniel Stenberg curl 7.1 Daniel Stenberg curl 6.5.2 Daniel Stenberg curl 6.5.1 Daniel Stenberg curl 6.5 Daniel Stenberg curl 6.4 Daniel Stenberg curl 6.3 Daniel Stenberg curl 6.1 beta Daniel Stenberg curl 6.1 Daniel Stenberg curl 6.0 |
| Not Vulnerable: |
Daniel Stenberg curl 7.4.1 |
Discussion
cURL Remote Buffer Overflow Vulnerability
Curl is an open-source utility for sending or receiving files using URL syntax. A vulnerability exists in the version of curl included with Debian GNU/Linux 2.2 and FreeBSD (prior to 4.2 release).
Note that cURL runs on other platforms as well, and earlier versions may be also vulnerable.
Curl's error-logging feature improperly tests the size of generated error messages, which are sent from a remote host. A malicious remote server could send a maliciously-formed response to a request from curl, designed to exceed the maximum length of the error buffer. The contents of this oversized buffer, when copied onto the stack, can potentially overwrite the calling functions' return address. This can alter the program's flow of execution and result in arbitrary code being run on the client host.
Curl is an open-source utility for sending or receiving files using URL syntax. A vulnerability exists in the version of curl included with Debian GNU/Linux 2.2 and FreeBSD (prior to 4.2 release).
Note that cURL runs on other platforms as well, and earlier versions may be also vulnerable.
Curl's error-logging feature improperly tests the size of generated error messages, which are sent from a remote host. A malicious remote server could send a maliciously-formed response to a request from curl, designed to exceed the maximum length of the error buffer. The contents of this oversized buffer, when copied onto the stack, can potentially overwrite the calling functions' return address. This can alter the program's flow of execution and result in arbitrary code being run on the client host.
Exploit / POC
cURL Remote Buffer Overflow Vulnerability
Proof of concept exploits for FreeBSD and Linux have been provided by zillion (at http://www.safemode.org && http://www.xsnosoft.com):
Proof of concept exploits for FreeBSD and Linux have been provided by zillion (at http://www.safemode.org && http://www.xsnosoft.com):
Solution / Fix
cURL Remote Buffer Overflow Vulnerability
Solution:
A patch for the most recent version of cURL is available at:
http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/lib/sendf.c.diff?cvsroot=curl&r1=1.10&r2=1.11&f=u
Current version of cURL is available for download at:
http://curl.haxx.se/download/curl-7.4.1.tar.gz
Debian:
Debian GNU/Linux 2.1 alias slink
Slink did not contain curl or curl-ssl.
Debian GNU/Linux 2.2 alias potato
Potato was released for alpha, arm, i386, m68k, powerpc and sparc. At
this moment packages for m68k are not yet available; they will later be
announce on http://security.debian.org/ .
Fixed curl-ssl packages:
Source archives:
http://security.debian.org/dists/stable/updates/main/source/curl-ssl_6.0-1.2.diff.gz
MD5 checksum: bdfd882127d9f246402be6f9cc8d02d3
http://security.debian.org/dists/stable/updates/main/source/curl-ssl_6.0-1.2.dsc
MD5 checksum: 965a98adeb70df08f5219565c5d2a0cb
http://security.debian.org/dists/stable/updates/main/source/curl-ssl_6.0.orig.tar.gz
MD5 checksum: dffbc34bc3c19d8e8c6a11495aa744fe
Alpha architecture:
http://security.debian.org/dists/stable/updates/main/binary-alpha/curl-ssl_6.0-1.2_alpha.deb
MD5 checksum: 2c8992652534aa6d7e2fc95473a469a7
ARM architecture:
http://security.debian.org/dists/stable/updates/main/binary-arm/curl-ssl_6.0-1.2_arm.deb
MD5 checksum: 168a025e9374b2f96eeae3736bff094f
Intel ia32 architecture:
http://security.debian.org/dists/stable/updates/main/binary-i386/curl-ssl_6.0-1.2_i386.deb
MD5 checksum: 7ad6efee7ec787a450911fbc40111468
PowerPC architecture:
http://security.debian.org/dists/stable/updates/main/binary-powerpc/curl-ssl_6.0-1.2_powerpc.deb
MD5 checksum: 1d62c52cbb711cea17c375978de09e7f
Sun Sparc architecture:
http://security.debian.org/dists/stable/updates/main/binary-sparc/curl-ssl_6.0-1.2_sparc.deb
MD5 checksum: c631f9b4f4789d6ba779d8ebc5ec4867
Fixed curl packages:
Source archives:
http://security.debian.org/dists/stable/updates/main/source/curl_6.0-1.1.diff.gz
MD5 checksum: a95dde95e6a072bd44a8e59b9f3d0e49
http://security.debian.org/dists/stable/updates/main/source/curl_6.0-1.1.dsc
MD5 checksum: d35d95a7e1b8e1d19692d27edecd2155
http://security.debian.org/dists/stable/updates/main/source/curl_6.0.orig.tar.gz
MD5 checksum: dffbc34bc3c19d8e8c6a11495aa744fe
Alpha architecture:
http://security.debian.org/dists/stable/updates/main/binary-alpha/curl_6.0-1.1_alpha.deb
MD5 checksum: dbbe286ceabcd21e398f5bf9566182d0
ARM architecture:
http://security.debian.org/dists/stable/updates/main/binary-arm/curl_6.0-1.1_arm.deb
MD5 checksum: 9fb58f2b273e68b3ba00ebcf53737fa4
Intel ia32 architecture:
http://security.debian.org/dists/stable/updates/main/binary-i386/curl_6.0-1.1.1_i386.deb
MD5 checksum: 5102e282f08bc2c9332762cb1e02df2a
PowerPC architecture:
http://security.debian.org/dists/stable/updates/main/binary-powerpc/curl_6.0-1.1_powerpc.deb
MD5 checksum: d0cb857833f793276bd467773c3e58cf
Sun Sparc architecture:
http://security.debian.org/dists/stable/updates/main/binary-sparc/curl_6.0-1.1_sparc.deb
MD5 checksum: 99f5c19a778e67eec371b316202274c0
These files will be moved into
ftp://ftp.debian.org/debian/dists/stable/*/binary-$arch/ soon.
For not yet released architectures please refer to the appropriate
directory ftp://ftp.debian.org/debian/dists/sid/binary-$arch/ .
Daniel Stenberg curl 6.5.1
Daniel Stenberg curl 6.5.2
Daniel Stenberg curl 7.1
Daniel Stenberg curl 7.1.1
Daniel Stenberg curl 7.2
Daniel Stenberg curl 7.2.1
Solution:
A patch for the most recent version of cURL is available at:
http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/lib/sendf.c.diff?cvsroot=curl&r1=1.10&r2=1.11&f=u
Current version of cURL is available for download at:
http://curl.haxx.se/download/curl-7.4.1.tar.gz
Debian:
Debian GNU/Linux 2.1 alias slink
Slink did not contain curl or curl-ssl.
Debian GNU/Linux 2.2 alias potato
Potato was released for alpha, arm, i386, m68k, powerpc and sparc. At
this moment packages for m68k are not yet available; they will later be
announce on http://security.debian.org/ .
Fixed curl-ssl packages:
Source archives:
http://security.debian.org/dists/stable/updates/main/source/curl-ssl_6.0-1.2.diff.gz
MD5 checksum: bdfd882127d9f246402be6f9cc8d02d3
http://security.debian.org/dists/stable/updates/main/source/curl-ssl_6.0-1.2.dsc
MD5 checksum: 965a98adeb70df08f5219565c5d2a0cb
http://security.debian.org/dists/stable/updates/main/source/curl-ssl_6.0.orig.tar.gz
MD5 checksum: dffbc34bc3c19d8e8c6a11495aa744fe
Alpha architecture:
http://security.debian.org/dists/stable/updates/main/binary-alpha/curl-ssl_6.0-1.2_alpha.deb
MD5 checksum: 2c8992652534aa6d7e2fc95473a469a7
ARM architecture:
http://security.debian.org/dists/stable/updates/main/binary-arm/curl-ssl_6.0-1.2_arm.deb
MD5 checksum: 168a025e9374b2f96eeae3736bff094f
Intel ia32 architecture:
http://security.debian.org/dists/stable/updates/main/binary-i386/curl-ssl_6.0-1.2_i386.deb
MD5 checksum: 7ad6efee7ec787a450911fbc40111468
PowerPC architecture:
http://security.debian.org/dists/stable/updates/main/binary-powerpc/curl-ssl_6.0-1.2_powerpc.deb
MD5 checksum: 1d62c52cbb711cea17c375978de09e7f
Sun Sparc architecture:
http://security.debian.org/dists/stable/updates/main/binary-sparc/curl-ssl_6.0-1.2_sparc.deb
MD5 checksum: c631f9b4f4789d6ba779d8ebc5ec4867
Fixed curl packages:
Source archives:
http://security.debian.org/dists/stable/updates/main/source/curl_6.0-1.1.diff.gz
MD5 checksum: a95dde95e6a072bd44a8e59b9f3d0e49
http://security.debian.org/dists/stable/updates/main/source/curl_6.0-1.1.dsc
MD5 checksum: d35d95a7e1b8e1d19692d27edecd2155
http://security.debian.org/dists/stable/updates/main/source/curl_6.0.orig.tar.gz
MD5 checksum: dffbc34bc3c19d8e8c6a11495aa744fe
Alpha architecture:
http://security.debian.org/dists/stable/updates/main/binary-alpha/curl_6.0-1.1_alpha.deb
MD5 checksum: dbbe286ceabcd21e398f5bf9566182d0
ARM architecture:
http://security.debian.org/dists/stable/updates/main/binary-arm/curl_6.0-1.1_arm.deb
MD5 checksum: 9fb58f2b273e68b3ba00ebcf53737fa4
Intel ia32 architecture:
http://security.debian.org/dists/stable/updates/main/binary-i386/curl_6.0-1.1.1_i386.deb
MD5 checksum: 5102e282f08bc2c9332762cb1e02df2a
PowerPC architecture:
http://security.debian.org/dists/stable/updates/main/binary-powerpc/curl_6.0-1.1_powerpc.deb
MD5 checksum: d0cb857833f793276bd467773c3e58cf
Sun Sparc architecture:
http://security.debian.org/dists/stable/updates/main/binary-sparc/curl_6.0-1.1_sparc.deb
MD5 checksum: 99f5c19a778e67eec371b316202274c0
These files will be moved into
ftp://ftp.debian.org/debian/dists/stable/*/binary-$arch/ soon.
For not yet released architectures please refer to the appropriate
directory ftp://ftp.debian.org/debian/dists/sid/binary-$arch/ .
Daniel Stenberg curl 6.5.1
-
Daniel Stenberg curl-7.4.1
http://curl.haxx.se/download/curl-7.4.1.tar.gz
Daniel Stenberg curl 6.5.2
-
Daniel Stenberg curl-7.4.1
http://curl.haxx.se/download/curl-7.4.1.tar.gz
Daniel Stenberg curl 7.1
-
Daniel Stenberg curl-7.4.1
http://curl.haxx.se/download/curl-7.4.1.tar.gz
Daniel Stenberg curl 7.1.1
-
Daniel Stenberg curl-7.4.1
http://curl.haxx.se/download/curl-7.4.1.tar.gz
Daniel Stenberg curl 7.2
-
Daniel Stenberg curl-7.4.1
http://curl.haxx.se/download/curl-7.4.1.tar.gz
Daniel Stenberg curl 7.2.1
-
Daniel Stenberg curl-7.4.1
http://curl.haxx.se/download/curl-7.4.1.tar.gz
References
cURL Remote Buffer Overflow Vulnerability
References:
References:
- cURL changelog (Daniel Stenberg
) - cURL homepage (Daniel Stenberg
)