Quantum Secular Labs / Blog / Advisories

CVE-2018-1000005: Haxx Libcurl: Information disclosure

CVE-2018-1000005 is rated critical with a CVSS v3.0 base score of 9.1 and affects Haxx Libcurl, along with 2 other products in NVD’s configuration data. Per its scoring, it can be exploited over the network, without authentication, without any user interaction.

Vulnerability description

libcurl 7.49.0 to and including 7.57.0 contains an out bounds read in code handling HTTP/2 trailers. It was reported (https://github.com/curl/curl/pull/2231) that reading an HTTP/2 trailer could mess up future trailers since the stored size was one byte less than required. The problem is that the code that creates HTTP/1-like headers from the HTTP/2 trailer data once appended a string like `:` to the target buffer, while this was recently changed to `: ` (a space was added after the colon) but the following math wasn't updated correspondingly. When accessed, the data is read out of bounds and causes either a crash or that the (too large) data gets passed to client write. This could lead to a denial-of-service situation or an information disclosure if someone has a service that echoes back or uses the trailers for something.

Severity breakdown

CVSS v3.0 9.1: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

  • Attack vector: Network. Exploitable remotely over the network, with no need for local or physical access.
  • Attack complexity: Low. No special conditions; the attack can be repeated reliably.
  • Privileges required: None. No account or prior access is needed.
  • User interaction: None. No action from any user is needed.
  • Scope: Unchanged. Impact stays within the vulnerable component.
  • Confidentiality impact: High. Total loss of confidentiality; sensitive data can be fully disclosed.
  • Integrity impact: None. No loss of integrity.
  • Availability impact: High. Total loss of availability; the component can be shut down.

Underlying weakness

CWE-125: Out-of-bounds Read

The product reads data past the end, or before the beginning, of the intended buffer.

Affected products

  • Haxx Libcurl: from 7.49.0 up to and including 7.57.0
  • Debian Linux: 8.0; 9.0
  • Canonical Ubuntu Linux: 14.04; 16.04; 17.10

References