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.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_name": "curl", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "curl-dbgsym", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl3", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl3-dbg", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl3-dbgsym", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl3-gnutls", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl3-gnutls-dbgsym", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl3-nss", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl3-nss-dbgsym", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl4-doc", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl4-gnutls-dev", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl4-gnutls-dev-dbgsym", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl4-nss-dev", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl4-nss-dev-dbgsym", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl4-openssl-dev", "binary_version": "7.47.0-1ubuntu2.6" }, { "binary_name": "libcurl4-openssl-dev-dbgsym", "binary_version": "7.47.0-1ubuntu2.6" } ] }