cURL: Certificate validation error — GLSA 201703-04

A coding error has been found in cURL, causing the TLS Certificate Status Request extension check to always return true.

Affected packages

net-misc/curl on all architectures
Affected versions < 7.53.0
Unaffected versions >= 7.53.0

Background

cURL is a tool and libcurl is a library for transferring data with URL syntax.

Description

cURL and applications linked against 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.

Impact

Due to the error, a user maybe does not detect when a server’s certificate goes invalid or otherwise be mislead that the server is in a better shape than it is in reality.

Workaround

There is no known workaround at this time.

Resolution

All cURL users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=net-misc/curl-7.53.0"
 

References

Release date
March 28, 2017

Latest revision
March 28, 2017: 1

Severity
normal

Exploitable
remote

Bugzilla entries