Race condition in RunC - CVE-2016-9962
Published: May 17, 2018 / Updated: July 15, 2020
Vulnerability identifier: #VU12804
CSH Severity: Low
CVSS v4: 9.3 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H]
CVE-ID: CVE-2016-9962
CWE-ID: CWE-362
Exploitation vector: Local access
Exploit availability:
No public exploit available
Vulnerability details
The vulnerability allows a local attacker to gain elevated privileges on the target system.
The weakness exists due to allowing additional container processes via 'runc exec' to be ptraced by the pid 1 of the container. This allows the main processes of the container, if running as root, to gain access to file-descriptors of these new processes during the initialization and can lead to container escapes or modification of runC state before the process is fully placed inside the container. A local attacker can execute arbitrary code with root privileges.
Successful exploitation of the vulnerability may result in system compromise.
The weakness exists due to allowing additional container processes via 'runc exec' to be ptraced by the pid 1 of the container. This allows the main processes of the container, if running as root, to gain access to file-descriptors of these new processes during the initialization and can lead to container escapes or modification of runC state before the process is fully placed inside the container. A local attacker can execute arbitrary code with root privileges.
Successful exploitation of the vulnerability may result in system compromise.
Affected software
RunC
Arch Linux
Gentoo Linux
Amazon Linux AMI
Red Hat Enterprise Linux Server
Red Hat Enterprise Linux Workstation
Fedora
docker (Alpine package)
runc
docker-latest
docker
Arch Linux
Gentoo Linux
Amazon Linux AMI
Red Hat Enterprise Linux Server
Red Hat Enterprise Linux Workstation
Fedora
docker (Alpine package)
runc
docker-latest
docker
How to mitigate CVE-2016-9962
Install update from vendor's website.
docker (Alpine package) - update to 1.12.6-r0
runc - addressed in versions 1.0.0-3.rc2.gitc91b5be.fc24, 1.0.0-3.rc2.gitc91b5be.fc25, 1.0.0-5.rc2.gitc91b5be.fc24, 1.0.0-6.git75f8da7.fc25.2, 1.0.0-7.git6394544.fc25.2, 1.0.1-1.gitc5ec254.fc25
docker-latest - addressed in versions 1.12.6-1.git51ef5a8.fc24, 1.12.6-2.git51ef5a8.fc25
docker - update to 1.12.6-3.git51ef5a8.fc25
runc - addressed in versions 1.0.0-3.rc2.gitc91b5be.fc24, 1.0.0-3.rc2.gitc91b5be.fc25, 1.0.0-5.rc2.gitc91b5be.fc24, 1.0.0-6.git75f8da7.fc25.2, 1.0.0-7.git6394544.fc25.2, 1.0.1-1.gitc5ec254.fc25
docker-latest - addressed in versions 1.12.6-1.git51ef5a8.fc24, 1.12.6-2.git51ef5a8.fc25
docker - update to 1.12.6-3.git51ef5a8.fc25
External References
Related Security Bulletins
- Arch Linux update for runc
- Arch Linux update for docker
- Gentoo update for runC
- Amazon Linux AMI update for docker
- Red Hat update for runc
- Red Hat update for docker-latest
- Race condition in docker (Alpine package)
- Fedora 25 update for docker
- Fedora 25 update for docker-latest
- Fedora 24 update for docker-latest
- Fedora 25 update for runc
- Fedora 24 update for runc
- Fedora 24 update for runc
- Fedora 25 update for runc
- Fedora 25 update for runc
- Fedora 25 update for runc