CVE-2018-1000005
libcurl 7.49.0 to and including 7.57.0 contains an out bounds read in code handling HTTP/2 trailers.
Impact
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.
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Haxx | Libcurl | from 7.49.0 through 7.57.0 |
| Debian | Debian Linux | Versions 8.0, 9.0 |
| Canonical | Ubuntu Linux | Versions 14.04, 16.04, 17.10 |
Weakness classification
References
- NVD record
- CVE.org record
- http://www.securitytracker.com/id/1040273
- https://access.redhat.com/errata/RHSA-2019:1543
- https://curl.haxx.se/docs/adv_2018-824a.html
- https://github.com/curl/curl/pull/2231
- https://usn.ubuntu.com/3554-1/
- https://www.debian.org/security/2018/dsa-4098
- http://www.securitytracker.com/id/1040273
- https://access.redhat.com/errata/RHSA-2019:1543
- https://curl.haxx.se/docs/adv_2018-824a.html
- https://github.com/curl/curl/pull/2231
- https://usn.ubuntu.com/3554-1/
- https://www.debian.org/security/2018/dsa-4098