Errata overview
Errata ID 305
Date 2018-02-14
Source package wget
Fixed in version 1.16-1+deb8u4
Description
This update addresses the following issues:
* The retr.c:fd_read_body() function is called when processing OK responses.
  When the response is sent chunked, the chunk parser uses strtol() to read
  each chunk's length, but doesn't check that the chunk length is a
  non-negative number. The code then tries to read the chunk in pieces of
  8192 bytes by using the MIN() macro, but ends up passing the negative chunk
  length to retr.c:fd_read(). As fd_read() takes an int argument, the high 32
  bits of the chunk length are discarded, leaving fd_read() with a completely
  attacker controlled length argument. The attacker can corrupt malloc
  metadata after the allocated buffer. (CVE-2017-13090)
* The http.c:skip_short_body() function is called in some circumstances, such
  as when processing redirects. When the response is sent chunked, the chunk
  parser uses strtol() to read each chunk's length, but doesn't check that
  the chunk length is a non-negative number. The code then tries to skip the
  chunk in pieces of 512 bytes by using the MIN() macro, but ends up passing
  the negative chunk length to connect.c:fd_read(). As fd_read() takes an int
  argument, the high 32 bits of the chunk length are discarded, leaving
  fd_read() with a completely attacker controlled length argument.
  (CVE-2017-13089)
Additional notes
CVE ID CVE-2017-13090
CVE-2017-13089
UCS Bug number #45638