CVE-2017-13090
published 2017-10-27CVE-2017-13090: The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked in wget before 1.19.2, the chunk parser uses…
PriorityP357high8.8CVSS 3.0
AVNACLPRNUIRSUCHIHAH
EPSS
36.56%
98.3th percentile
The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked in wget before 1.19.2, 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.
Affected
11 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | debian_linux | — | — |
| debian | debian_linux | — | — |
| debian | wget | < wget 1.19.2-1 (bookworm) | wget 1.19.2-1 (bookworm) |
| gnu | wget | <= 1.19.1 | — |
| gnu | wget | >= 0 < 1.19.2-1 | 1.19.2-1 |
| gnu | wget | >= 0 < 1.19.2-1 | 1.19.2-1 |
| gnu | wget | >= 0 < 1.19.2-1 | 1.19.2-1 |
| gnu | wget | >= 0 < 1.19.2-1 | 1.19.2-1 |
| gnu | wget | >= 0 < 1.15-1ubuntu1.14.04.3 | 1.15-1ubuntu1.14.04.3 |
| gnu | wget | >= 0 < 1.17.1-1ubuntu1.3 | 1.17.1-1ubuntu1.3 |
| gnu_project | wget | — | — |
CVSS provenance
nvdv3.08.8HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
nvdv2.09.3CRITICALAV:N/AC:M/Au:N/C:C/I:C/A:C
osv8.8HIGH
vendor_debian8.8HIGH
vendor_redhat8.8HIGH
vendor_ubuntu8.1HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Ubuntu
Wget vulnerabilities
vendor_ubuntu·2017-10-30·CVSS 8.1
CVE-2016-7098 [HIGH] Wget vulnerabilities
Title: Wget vulnerabilities
Summary: Several security issues were fixed in Wget.
USN-3464-1 fixed several vulnerabilities in Wget. This update
provides the corresponding update for Ubuntu 12.04 ESM.
Original advisory details:
Antti Levomäki, Christian Jalio, and Joonas Pihlaja discovered that Wget
incorrectly handled certain HTTP responses. A remote attacker could use
this issue to cause Wget to crash, resulting in a denial of service, or
possibly execute arbitrary code. (CVE-2017-13089, CVE-2017-13090)
Dawid Golunski discovered that Wget incorrectly handled recursive or
mirroring mode. A remote attacker could possibly use this issue to bypass
intended access list restrictions. (CVE-2016-7098)
Orange Tsai discovered that Wget incorrectly handled CRLF sequences in
HTTP headers. A remo
Red Hat
wget: Heap-based buffer overflow in HTTP protocol handling
vendor_redhat·2017-10-26·CVSS 8.8
CVE-2017-13090 [HIGH] CWE-122 wget: Heap-based buffer overflow in HTTP protocol handling
wget: Heap-based buffer overflow in HTTP protocol handling
The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked in wget before 1.19.2, 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.
A heap-based buffer overflow, when processing chunked encoded HTTP responses, was found in wget.
Ubuntu
Wget vulnerabilities
vendor_ubuntu·2017-10-26·CVSS 8.1
CVE-2016-7098 [HIGH] Wget vulnerabilities
Title: Wget vulnerabilities
Summary: Several security issues were fixed in Wget.
Antti Levomäki, Christian Jalio, and Joonas Pihlaja discovered that Wget
incorrectly handled certain HTTP responses. A remote attacker could use
this issue to cause Wget to crash, resulting in a denial of service, or
possibly execute arbitrary code. (CVE-2017-13089, CVE-2017-13090)
Dawid Golunski discovered that Wget incorrectly handled recursive or
mirroring mode. A remote attacker could possibly use this issue to bypass
intended access list restrictions. (CVE-2016-7098)
Orange Tsai discovered that Wget incorrectly handled CRLF sequences in
HTTP headers. A remote attacker could possibly use this issue to inject
arbitrary HTTP headers. (CVE-2017-6508)
Instructions: In general, a standard system update wil
Debian
CVE-2017-13090: wget - The retr.c:fd_read_body() function is called when processing OK responses. When ...
vendor_debian·2017·CVSS 8.8
CVE-2017-13090 [HIGH] CVE-2017-13090: wget - The retr.c:fd_read_body() function is called when processing OK responses. When ...
The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked in wget before 1.19.2, 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.
Scope: local
bookworm: resolved (fixed in 1.19.2-1)
bullseye: resolved (fixed in 1.19.2-1)
forky: resolved (fixed in 1.19.2-1)
sid: resolved (fixed in 1.19.2
GHSA
GHSA-55r8-x68f-xh64: The retr
ghsa_unreviewed·2022-05-14
CVE-2017-13090 [HIGH] CWE-119 GHSA-55r8-x68f-xh64: The retr
The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked in wget before 1.19.2, 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.
OSV
CVE-2017-13090: The retr
osv·2017-10-27·CVSS 8.8
CVE-2017-13090 [HIGH] CVE-2017-13090: The retr
The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked in wget before 1.19.2, 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.
OSV
wget vulnerabilities
osv·2017-10-26·CVSS 8.1
CVE-2017-13089 [HIGH] wget vulnerabilities
wget vulnerabilities
Antti Levomäki, Christian Jalio, and Joonas Pihlaja discovered that Wget
incorrectly handled certain HTTP responses. A remote attacker could use
this issue to cause Wget to crash, resulting in a denial of service, or
possibly execute arbitrary code. (CVE-2017-13089, CVE-2017-13090)
Dawid Golunski discovered that Wget incorrectly handled recursive or
mirroring mode. A remote attacker could possibly use this issue to bypass
intended access list restrictions. (CVE-2016-7098)
Orange Tsai discovered that Wget incorrectly handled CRLF sequences in
HTTP headers. A remote attacker could possibly use this issue to inject
arbitrary HTTP headers. (CVE-2017-6508)
No detection rules found.
No public exploits indexed.
HackerOne
CVE-2017-13090 wget heap smash
hackerone·2019-11-12·CVSS 8.8
CVE-2017-13090 [HIGH] CVE-2017-13090 wget heap smash
CVE-2017-13090 wget heap smash
The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked in wget before 1.19.2, 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.
Reproduction
To reproduce, use two terminals. In the first terminal:
$ nc -l -p 8080 <wget-heap-smash.reply
In the second te
Bugzilla
CVE-2017-13089 CVE-2017-13090 wget: various flaws [fedora-all]
bugzilla·2017-10-26·CVSS 8.8
CVE-2017-13089 [HIGH] CVE-2017-13089 CVE-2017-13090 wget: various flaws [fedora-all]
CVE-2017-13089 CVE-2017-13090 wget: various flaws [fedora-all]
Use the following template to for the 'fedpkg update' request to submit an
update for this issue as it contains the top-level parent bug(s) as well as
this tracking bug. This will ensure that all associated bugs get updated
when new packages are pushed to stable.
# bugfix, security, enhancement, newpackage (required)
type=security
# testing, stable
request=testing
# Bug numbers: 1234,9876
bugs=1505444,1505445,1506720
# Description of your update
notes=Security fix for [PUT CVEs HERE]
# Enable request automation based on the stable/unstable karma thresholds
autokarma=True
stable_karma=3
unstable_karma=-3
# Automatically close bugs when this marked as stable
close_bugs=True
# Suggest that users restart after update
sugge
Bugzilla
CVE-2017-13090 wget: Heap-based buffer overflow in HTTP protocol handling
bugzilla·2017-10-23·CVSS 8.8
CVE-2017-13090 [HIGH] CVE-2017-13090 wget: Heap-based buffer overflow in HTTP protocol handling
CVE-2017-13090 wget: Heap-based buffer overflow in HTTP protocol handling
A heap-based buffer overflow vulnerability was found in HTTP protocol handling, potentially allowing a code execution.
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 al
http://git.savannah.gnu.org/cgit/wget.git/commit/?id=ba6b44f6745b14dce414761a8e4b35d31b176bbahttp://www.debian.org/security/2017/dsa-4008http://www.securityfocus.com/bid/101590http://www.securitytracker.com/id/1039661https://access.redhat.com/errata/RHSA-2017:3075https://security.gentoo.org/glsa/201711-06https://www.synology.com/support/security/Synology_SA_17_62_Wgethttps://www.viestintavirasto.fi/en/cybersecurity/vulnerabilities/2017/haavoittuvuus-2017-037.htmlhttp://git.savannah.gnu.org/cgit/wget.git/commit/?id=ba6b44f6745b14dce414761a8e4b35d31b176bbahttp://www.debian.org/security/2017/dsa-4008http://www.securityfocus.com/bid/101590http://www.securitytracker.com/id/1039661https://access.redhat.com/errata/RHSA-2017:3075https://security.gentoo.org/glsa/201711-06https://www.synology.com/support/security/Synology_SA_17_62_Wgethttps://www.viestintavirasto.fi/en/cybersecurity/vulnerabilities/2017/haavoittuvuus-2017-037.html
2017-10-27
Published