Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1702220042370.24142@tvnag.unkk.fr>
Date: Wed, 22 Feb 2017 00:43:28 +0100 (CET)
From: Daniel Stenberg <daniel@...x.se>
To: curl security announcements -- curl users <curl-users@...l.haxx.se>,
        curl-announce@...l.haxx.se,
        libcurl hacking <curl-library@...l.haxx.se>,
        oss-security@...ts.openwall.com
Subject: [SECURITY ADVISORY]: curl SSL_VERIFYSTATUS ignored

SSL_VERIFYSTATUS ignored
========================

Project curl Security Advisory, February 22, 2017 -
[Permalink](https://curl.haxx.se/docs/adv_20170222.html)

VULNERABILITY
-------------

curl and libcurl support "OCSP stapling", also known as the TLS Certificate
Status Request extension (using the `CURLOPT_SSL_VERIFYSTATUS` option). When
telling curl to use this feature, it uses that TLS extension to ask for a
fresh proof of the server's certificate's validity. If the server doesn't
support the extension, or fails to provide said proof, curl is expected to
return an error.

Due to a coding mistake, the code that checks for a test success or failure,
ends up always thinking there's valid proof, even when there is none or if the
server doesn't support the TLS extension in question. Contrary to how it used
to function and contrary to how this feature is documented to work.

This could lead to users not detecting when a server's certificate goes
invalid or otherwise be mislead that the server is in a better shape than it
is in reality.

This flaw also exists in the command line tool
([--cert-status](https://curl.haxx.se/docs/manpage.html#--cert-status)).

We are not aware of any exploit of this flaw.

INFO
----

The mistake happened in a large code merge for the HTTPS proxy feature (commit
cb4e2be7c6d42ca0780) and went unnoticed primarily because we have no automated
tests for this feature!

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

AFFECTED VERSIONS
-----------------

curl has supported this option since version 7.41.0.

This flaw exists in the following curl and libcurl versions.

- Affected versions: 7.52.0 to and including 7.52.1
- Not affected versions: < 7.52.0 and >= 7.53.0

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

THE SOLUTION
------------

In version 7.53.0, the actual result of the check is properly used.

A [patch for CVE-2017-2629](https://curl.haxx.se/CVE-2017-2629.patch) is
available.

RECOMMENDATIONS
---------------

We suggest you take one of the following actions immediately, in order of
preference:

  A - Upgrade curl and libcurl to version 7.53.0

  B - Apply the patch to your version and rebuild

  C - Do not use the cert status feature

TIME LINE
---------

It was first reported to the curl project on January 12.

We contacted distros@...nwall on February XX.

curl 7.53.0 was released on February 22 2017, coordinated with the publication
of this advisory.

CREDITS
-------

Reported by Marcus Hoffmann

-- 

  / daniel.haxx.se

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.