Bug 563220 (CVE-2010-0734)

Summary: CVE-2010-0734 curl: zlib-compression causes curl to pass more than CURL_MAX_WRITE_SIZE bytes to write callback
Product: [Other] Security Response Reporter: Jan Lieskovsky <jlieskov>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: kdudka, kreilly, ksrot, mmalik, vdanen
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://curl.haxx.se/docs/adv_20100209.html
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-03-30 17:30:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 563236, 563240, 565405, 565406, 565407, 565408    
Bug Blocks:    

Description Jan Lieskovsky 2010-02-09 15:49:30 UTC
A stack based buffer overflow flaw was found in the way libcurl
used to uncompress zlib compressed data. If an application,
using libcurl, was downloading compressed content over HTTP and
asked libcurl to automatically uncompress data, it might lead
to denial of service (application crash) or, potentially, to
arbitrary code execution with the privileges of that application.

Upstream advisory:
  [1] http://curl.haxx.se/docs/adv_20100209.html

Upstream patch:
  [2] http://curl.haxx.se/libcurl-contentencoding.patch

Affected versions of cURL/libCURL (from [1]):
  7.10.5 to and including 7.19.7

Other references:
  [3] http://curl.haxx.se/docs/security.html#20100209 
  [4] http://curl.haxx.se/download.html 

CVE Request:
  [5] http://www.openwall.com/lists/oss-security/2010/02/09/5

Acknowledgements:

Red Hat would like to thank Daniel Stenberg for responsibly reporting this issue. Upstream acknowledges Wesley Miaw as the original reporter.

Comment 4 Jan Lieskovsky 2010-02-09 16:04:07 UTC
This issue affects the versions of the curl package, as shipped
with Red Hat Enterprise Linux 3, 4, and 5.

This issue affects the versions of the curl package, as shipped
with Fedora release of 11 and 12.

Comment 9 Tomas Hoger 2010-02-10 16:52:36 UTC
(In reply to comment #0)
> A stack based buffer overflow flaw was found in the way libcurl
> used to uncompress zlib compressed data.

It does not have to be stack-based.  It depends on the application and what it does with the data in its write callback function.

Comment 10 Tomas Hoger 2010-02-11 15:17:38 UTC
As indicated in the upstream advisory, upstream is not aware of any application using libcurl that is really affected by this flaw.  Searching source of all Red Hat Enterprise Linux applications, only PHP curl extension uses CURLOPT_ENCODING to enable deflate content encoding.  However, PHP's write callback function does not rely on documented "The maximum amount of data that can be passed to the write callback is defined in the curl.h header file: CURL_MAX_WRITE_SIZE."

Other write callback functions used by RHEL applications either pass data to output file / stream without copying them to intermediate fixed-sized buffer, or use dynamically allocated buffer and don't rely on CURL_MAX_WRITE_SIZE limit.  So those apps wouldn't be affected even if they used deflate compression.

Third party application using libcurl and relying on the documented CURL_MAX_WRITE_SIZE limit may be affected by this problem.

Comment 19 Fedora Update System 2010-02-22 17:34:04 UTC
curl-7.19.7-7.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/curl-7.19.7-7.fc12

Comment 20 Fedora Update System 2010-02-22 17:36:08 UTC
curl-7.19.7-5.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/curl-7.19.7-5.fc11

Comment 21 Fedora Update System 2010-02-22 17:36:44 UTC
curl-7.19.7-7.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/curl-7.19.7-7.fc12

Comment 22 Fedora Update System 2010-02-22 17:44:09 UTC
curl-7.19.7-5.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/curl-7.19.7-5.fc11

Comment 23 Fedora Update System 2010-03-09 03:29:22 UTC
curl-7.19.7-7.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2010-03-13 02:23:33 UTC
curl-7.19.7-5.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 25 Vincent Danen 2010-03-16 17:42:49 UTC
This is CVE-2010-0734.

Comment 26 errata-xmlrpc 2010-03-30 08:04:21 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2010:0273 https://rhn.redhat.com/errata/RHSA-2010-0273.html

Comment 30 errata-xmlrpc 2010-03-30 17:24:04 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 3
  Red Hat Enterprise Linux 4

Via RHSA-2010:0329 https://rhn.redhat.com/errata/RHSA-2010-0329.html