Name | CVE-2018-16874 |
Description | In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to directory traversal when executed with the import path of a malicious Go package which contains curly braces (both '{' and '}' characters). Specifically, it is only vulnerable in GOPATH mode, but not in module mode (the distinction is documented at https://golang.org/cmd/go/#hdr-Module_aware_go_get). The attacker can cause an arbitrary filesystem write, which can lead to code execution. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-2591-1, DLA-2592-1, ELA-379-1 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
golang (PTS) | jessie, jessie (lts) | 2:1.3.3-1+deb8u5 | fixed |
golang-1.11 (PTS) | buster | 1.11.6-1+deb10u4 | fixed |
buster (security) | 1.11.6-1+deb10u7 | fixed | |
golang-1.7 (PTS) | stretch (security), stretch (lts), stretch | 1.7.4-2+deb9u5 | fixed |
golang-1.8 (PTS) | stretch (security), stretch (lts), stretch | 1.8.1-1+deb9u5 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
golang | source | jessie | 2:1.3.3-1+deb8u3 | ELA-379-1 | ||
golang-1.10 | source | (unstable) | 1.10.6-1 | |||
golang-1.11 | source | (unstable) | 1.11.3-1 | |||
golang-1.7 | source | stretch | 1.7.4-2+deb9u3 | DLA-2591-1 | ||
golang-1.7 | source | (unstable) | (unfixed) | |||
golang-1.8 | source | stretch | 1.8.1-1+deb9u3 | DLA-2592-1 | ||
golang-1.8 | source | (unstable) | (unfixed) |
https://github.com/golang/go/issues/29231
See CVE-2018-16873 for patches and regression fix