CVE-2018-16874

NameCVE-2018-16874
DescriptionIn 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub code/issues, web search, more)
ReferencesDLA-2591-1, DLA-2592-1
NVD severitymedium

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
golang-1.11 (PTS)buster1.11.6-1+deb10u3fixed
buster (security)1.11.6-1+deb10u4fixed
golang-1.7 (PTS)stretch1.7.4-2+deb9u1vulnerable
stretch (security)1.7.4-2+deb9u3fixed
golang-1.8 (PTS)stretch1.8.1-1+deb9u1vulnerable
stretch (security)1.8.1-1+deb9u3fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
golang-1.10source(unstable)1.10.6-1
golang-1.11source(unstable)1.11.3-1
golang-1.7sourcestretch1.7.4-2+deb9u3DLA-2591-1
golang-1.7source(unstable)(unfixed)
golang-1.8sourcestretch1.8.1-1+deb9u3DLA-2592-1
golang-1.8source(unstable)(unfixed)

Notes

https://github.com/golang/go/issues/29231
See CVE-2018-16873 for patches and regression fix

Search for package or bug name: Reporting problems