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.
libcurl 7.1 through 7.57.0 might accidentally leak authentication data to
third parties. When asked to send custom headers in its HTTP requests,
libcurl will send that set of headers first to the host in the initial URL
but also, if asked to follow redirects and a 30X HTTP response code is
returned, to the host mentioned in URL in the `Location:` response header
value. Sending the same set of headers to subsequest hosts is in particular
a problem for applications that pass on custom `Authorization:` headers, as
this header often contains privacy sensitive information or data that could
allow others to impersonate the libcurl-using client's request.
@ Maintainer(s): Can we start stabilization of =net-misc/curl-7.58.0?
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh sparc x86"
An automated check of this bug failed - repoman reported dependency errors (107 lines truncated):
> dependency.bad net-misc/curl/curl-7.58.0.ebuild: DEPEND: amd64(default/linux/amd64/17.0) ['app-arch/brotli:=']
> dependency.bad net-misc/curl/curl-7.58.0.ebuild: RDEPEND: amd64(default/linux/amd64/17.0) ['app-arch/brotli:=']
> dependency.bad net-misc/curl/curl-7.58.0.ebuild: DEPEND: amd64(default/linux/amd64/17.0/desktop) ['app-arch/brotli:=']
Author: Rolf Eike Beer <email@example.com>
Date: Wed Jan 31 18:36:07 2018 +0100
net-misc/curl: stable 7.58.0 for sparc, bug #645698
Stable on alpha.
This issue was resolved and addressed in
GLSA 201804-04 at https://security.gentoo.org/glsa/201804-04
by GLSA coordinator Aaron Bauman (b-man).