CVE-2018-1000005
Fixed in a distro release EPSS 5%
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.
Products: haxx libcurl, debian_linux, canonical ubuntu_linux
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Alpine 3.4 | curl | 7.58.0-r0 |
| Alpine 3.5 | curl | 7.58.0-r0 |
| Alpine 3.6 | curl | 7.58.0-r0 |
| Alpine 3.7 | curl | 7.58.0-r0 |
| Amazon Linux 2 | curl | 7.55.1-9.amzn2.0.1 |
| Amazon Linux 2 | libcurl | 7.55.1-9.amzn2.0.1 |
| Amazon Linux 2 | libcurl-devel | 7.55.1-9.amzn2.0.1 |
| Arch Linux | curl | 7.58.0-1 |
| Arch Linux | lib32-curl | 7.58.0-1 |
| Arch Linux | lib32-libcurl-compat | 7.58.0-1 |
| Arch Linux | lib32-libcurl-gnutls | 7.58.0-1 |
| Arch Linux | libcurl-compat | 7.58.0-1 |
| Arch Linux | libcurl-gnutls | 7.58.0-1 |
| Debian 12 | curl | 7.58.0-1 |
| Debian 13 | curl | 7.58.0-1 |
| Debian 14 | curl | 7.58.0-1 |
| Ubuntu 14.04 LTS | curl | 7.35.0-1ubuntu2.14 |
| Ubuntu 16.04 LTS | curl | 7.47.0-1ubuntu2.6 |
| openSUSE Tumbleweed | curl | 7.79.1-1.1 |