Out-of-bounds Read Affecting libcurl package, versions <0:7.55.1-9.amzn2.0.1


Severity

Recommended
high

Based on Amazon Linux security rating

    Threat Intelligence

    EPSS
    0.65% (80th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-AMZN2-LIBCURL-1660726
  • published 27 Sep 2021
  • disclosed 24 Jan 2018

How to fix?

Upgrade Amazon-Linux:2 libcurl to version 0:7.55.1-9.amzn2.0.1 or higher.
This issue was patched in ALAS2-2018-951.

NVD Description

Note: Versions mentioned in the description apply only to the upstream libcurl package and not the libcurl package as distributed by Amazon-Linux. See How to fix? for Amazon-Linux:2 relevant fixed versions and status.

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.