Path traversal in Go programming language - CVE-2018-16874

 

Path traversal in Go programming language - CVE-2018-16874

Published: December 14, 2018 / Updated: December 14, 2018


Vulnerability identifier: #VU16544
CSH Severity: High
CVSS v4: 8.6 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2018-16874
CWE-ID: CWE-22
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to conduct a directory traversal attack on the target system.

The vulnerability exists in the go get command due to path traversal attack when the affected software executes the go get command with the import path of a Go package that contains curly braces. A remote unauthenticated attacker can execute the go get command, trick the victim into accessing a Go package that submits malicious input, conduct a directory traversal attack, which the attacker can use to execute arbitrary code with elevated privileges.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.


Affected software

Go programming language
Arch Linux
Gentoo Linux
Amazon Linux AMI
Fedora
SUSE Linux Enterprise Module for Containers
Opensuse
SUSE Linux
openSUSE Leap
SUSE Package Hub for SUSE Linux Enterprise
runc
runc-debuginfo
containerd
golang
etcdctl
etcd
docker
docker-debuginfo

How to mitigate CVE-2018-16874

The vulnerability has been fixed in the version 1.10.6, 1.11.3.

Go programming language - addressed in versions 1.10.6, 1.11.3
runc - update to 1.0.0~rc93-16.8.1
runc-debuginfo - update to 1.0.0~rc93-16.8.1
containerd - update to 1.4.4-16.38.1
golang - addressed in versions 1.10.7-1.fc28, 1.11.4-1.el6, 1.11.4-1.el7, 1.11.4-1.fc29, 1.11-6.fc29
etcdctl - update to 3.5.12-150000.7.6.1
etcd - update to 3.5.12-150000.7.6.1
docker - update to 20.10.6_ce-98.66.1
docker-debuginfo - update to 20.10.6_ce-98.66.1

External References

Related Security Bulletins