CVE-2019-16884 Incorrect Authorization in runc

High 7.5 Published Updated

A malicious Docker image can bypass AppArmor restrictions by mounting over /proc due to incorrect mount target checks in runc.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2019-16884?

CVE-2019-16884 is a high-severity vulnerability in Canonical Ubuntu Linux, published on 25 Sep 2019. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

runc through 1.0.0-rc8, as used in Docker through 19.03.2-ce and other products, allows AppArmor restriction bypass because libcontainer/rootfs_linux.go incorrectly checks mount targets, and thus a malicious Docker image can mount over a /proc directory.

Weakness: CWE-863

Which versions are affected by CVE-2019-16884?

6 open source packages ship an affected version, including github.com/opencontainers/selinux and github.com/opencontainers/runc. It affects 10 products.

PackageAffectedFixed in
github.com/opencontainers/selinux GoAll versions1.3.1-0.20190929122143-5215b1806f52
github.com/opencontainers/selinux GoAll versions1.3.1-0.20190929122143-5215b1806f52
github.com/opencontainers/selinux GoAll versions1.3.1-0.20190929122143-5215b1806f52
github.com/opencontainers/runc GoAll versions1.0.0-rc8.0.20190930145003-cad42f6e0932
github.com/opencontainers/runc GoAll versions1.0.0-rc8.0.20190930145003-cad42f6e0932
github.com/opencontainers/runc GoAll versions1.0.0-rc8.0.20190930145003-cad42f6e0932
Linux distribution packages (30)
runc Red Hat:openshift:4.1::el8All versions0:1.0.0-62.rc8.rhaos4.1.git3cbe540.el8
runc-debuginfo Red Hat:openshift:4.1::el8All versions0:1.0.0-62.rc8.rhaos4.1.git3cbe540.el8
runc-debugsource Red Hat:openshift:4.1::el8All versions0:1.0.0-62.rc8.rhaos4.1.git3cbe540.el8
runc Red Hat:openshift:4.2::el8All versions0:1.0.0-63.rc8.el8
runc-debuginfo Red Hat:openshift:4.2::el8All versions0:1.0.0-63.rc8.el8
runc-debugsource Red Hat:openshift:4.2::el8All versions0:1.0.0-63.rc8.el8
runc Red Hat:rhel_extras_other:7All versions0:1.0.0-67.rc10.el7_8
runc-debuginfo Red Hat:rhel_extras_other:7All versions0:1.0.0-67.rc10.el7_8
containerd SUSE:Linux Enterprise Module for Containers 12All versions1.2.10-16.26.1
docker SUSE:Linux Enterprise Module for Containers 12All versions19.03.5_ce-98.51.1
docker-runc SUSE:Linux Enterprise Module for Containers 12All versions1.0.0rc8+gitr3826_425e105d5a03-1.32.1
docker-runc SUSE:Linux Enterprise Module for Containers 12All versions1.0.0rc8+gitr3917_3e425f80a8c9-1.35.1
golang-github-docker-libnetwork SUSE:Linux Enterprise Module for Containers 12All versions0.7.0.1+gitr2877_3eb39382bfa6-28.1
containerd SUSE:Linux Enterprise Module for Containers 15All versions1.2.10-5.19.1
docker SUSE:Linux Enterprise Module for Containers 15All versions19.03.5_ce-6.31.1
docker-runc SUSE:Linux Enterprise Module for Containers 15All versions1.0.0rc8+gitr3826_425e105d5a03-6.24.1
docker-runc SUSE:Linux Enterprise Module for Containers 15All versions1.0.0rc8+gitr3917_3e425f80a8c9-6.27.1
golang-github-docker-libnetwork SUSE:Linux Enterprise Module for Containers 15All versions0.7.0.1+gitr2877_3eb39382bfa6-4.18.1
containerd SUSE:Linux Enterprise Module for Containers 15 SP1All versions1.2.10-5.19.1
docker SUSE:Linux Enterprise Module for Containers 15 SP1All versions19.03.5_ce-6.31.1
docker-runc SUSE:Linux Enterprise Module for Containers 15 SP1All versions1.0.0rc8+gitr3826_425e105d5a03-6.24.1
docker-runc SUSE:Linux Enterprise Module for Containers 15 SP1All versions1.0.0rc8+gitr3917_3e425f80a8c9-6.27.1
golang-github-docker-libnetwork SUSE:Linux Enterprise Module for Containers 15 SP1All versions0.7.0.1+gitr2877_3eb39382bfa6-4.18.1
runc SUSE:Linux Enterprise Module for Containers 15 SP1All versions1.0.0~rc8-1.6.1
docker-runc openSUSE:Leap 15.0All versions1.0.0rc8+gitr3826_425e105d5a03-lp150.5.28.1
containerd openSUSE:Leap 15.1All versions1.2.10-lp151.2.9.1
docker openSUSE:Leap 15.1All versions19.03.5_ce-lp151.2.15.1
docker-runc openSUSE:Leap 15.1All versions1.0.0rc8+gitr3826_425e105d5a03-lp151.3.9.1
docker-runc openSUSE:Leap 15.1All versions1.0.0rc8+gitr3917_3e425f80a8c9-lp151.3.12.1
golang-github-docker-libnetwork openSUSE:Leap 15.1All versions0.7.0.1+gitr2877_3eb39382bfa6-lp151.2.9.1

Products include Canonical Ubuntu Linux, Docker Docker, Fedoraproject Fedora, Linuxfoundation Runc, Opensuse Leap, Redhat Enterprise Linux and 4 more.

How do I fix CVE-2019-16884?

Upgrade github.com/opencontainers/selinux to 1.3.1-0.20190929122143-5215b1806f52 or later.

Is CVE-2019-16884 being exploited?

There is no known exploitation of CVE-2019-16884 in the wild and no public exploit code.

All Canonical Ubuntu Linux vulnerabilities

Sources

Also known as CLEANSTART-2025-LA45180, CLEANSTART-2026-FJ66856, DEBIAN-CVE-2019-16884, DLA-3322-1, GHSA-fgv8-vj5c-2ppq, GO-2021-0085 and 13 more.

Is CVE-2019-16884 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free