CVE-2019-14271
Description
In Docker 19.03.x before 19.03.1 linked against the GNU C Library (aka glibc), code injection can occur when the nsswitch facility dynamically loads a library inside a chroot that contains the contents of the container.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Docker 19.03.x before 19.03.1 with glibc allows code injection when nsswitch loads a library inside a container's chroot during docker cp.
Root
Cause
Docker 19.03.x before 19.03.1, when linked against glibc, is vulnerable to code injection via the Name Service Switch (nsswitch) facility [1][2]. When a user runs docker cp, the host process executes inside a chroot containing the container's filesystem. During operation, nsswitch may dynamically load libraries (e.g., libnss_files.so) from the container's filesystem. If a malicious container replaces such a library with a crafted one, the host process will load and execute arbitrary code with host-level privileges [1][2].
Attack
Surface and Prerequisites
Exploitation requires a host running a vulnerable Docker version (19.03.x < 19.03.1) and glibc as the C library. The attacker must have the ability to place a malicious shared library at a path in the container's filesystem that nsswitch expects to load (e.g., replacing libnss_files.so) [2][4]. The attack is triggered when a user runs docker cp on a container that has been compromised to contain such a library [1][4]. No additional authentication is needed if the attacker can already control container contents (e.g., via a malicious image or compromised container).
Impact
Successful exploitation results in arbitrary code execution on the host with the privileges of the Docker daemon (typically root) [1][2]. This breaks container isolation and allows the attacker to fully compromise the host system, potentially leading to data exfiltration, lateral movement, or further attacks.
Mitigation
Docker fixed this vulnerability in version 19.03.1 [1]. Users should upgrade to 19.03.1 or later. No workaround is available; the only mitigation is to update Docker Engine. The issue is listed as a high-severity (CVSS score 8.7) vulnerability requiring urgent patching [2].
AI Insight generated on May 22, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
github.com/docker/dockerGo | >= 19.03.0, < 19.03.1 | 19.03.1 |
Affected products
45- Docker/Dockerdescription
- ghsa-coords44 versionspkg:golang/github.com/docker/dockerpkg:rpm/opensuse/containerd&distro=openSUSE%20Leap%2015.0pkg:rpm/opensuse/containerd&distro=openSUSE%20Leap%2015.1pkg:rpm/opensuse/docker&distro=openSUSE%20Leap%2015.0pkg:rpm/opensuse/docker&distro=openSUSE%20Leap%2015.1pkg:rpm/opensuse/docker&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/docker-runc&distro=openSUSE%20Leap%2015.0pkg:rpm/opensuse/docker-runc&distro=openSUSE%20Leap%2015.1pkg:rpm/opensuse/docker-stable&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/docker-stable&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/golang-github-docker-libnetwork&distro=openSUSE%20Leap%2015.0pkg:rpm/opensuse/golang-github-docker-libnetwork&distro=openSUSE%20Leap%2015.1pkg:rpm/suse/containerd&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2012pkg:rpm/suse/containerd&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015pkg:rpm/suse/containerd&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015%20SP1pkg:rpm/suse/containerd&distro=SUSE%20OpenStack%20Cloud%206-LTSSpkg:rpm/suse/docker&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2012pkg:rpm/suse/docker&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015pkg:rpm/suse/docker&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015%20SP1pkg:rpm/suse/docker&distro=SUSE%20OpenStack%20Cloud%206-LTSSpkg:rpm/suse/docker-runc&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2012pkg:rpm/suse/docker-runc&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015pkg:rpm/suse/docker-runc&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015%20SP1pkg:rpm/suse/docker-runc&distro=SUSE%20OpenStack%20Cloud%206-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Enterprise%20Storage%207.1pkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP3-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-ESPOSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP4-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-ESPOSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP5-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015%20SP6pkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015%20SP7pkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP3-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP4-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP5-LTSSpkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP3pkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP4pkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP5pkg:rpm/suse/docker-stable&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/golang-github-docker-libnetwork&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2012pkg:rpm/suse/golang-github-docker-libnetwork&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015pkg:rpm/suse/golang-github-docker-libnetwork&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Containers%2015%20SP1pkg:rpm/suse/golang-github-docker-libnetwork&distro=SUSE%20OpenStack%20Cloud%206-LTSS
>= 19.03.0, < 19.03.1+ 43 more
- (no CPE)range: >= 19.03.0, < 19.03.1
- (no CPE)range: < 1.2.6-lp151.2.6.1
- (no CPE)range: < 1.2.6-lp151.2.6.1
- (no CPE)range: < 19.03.1_ce-lp151.2.12.1
- (no CPE)range: < 19.03.1_ce-lp151.2.12.1
- (no CPE)range: < 20.10.6_ce-2.1
- (no CPE)range: < 1.0.0rc8+gitr3826_425e105d5a03-lp151.3.6.1
- (no CPE)range: < 1.0.0rc8+gitr3826_425e105d5a03-lp151.3.6.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-15.1
- (no CPE)range: < 0.7.0.1+gitr2800_fc5a7d91d54c-lp151.2.6.1
- (no CPE)range: < 0.7.0.1+gitr2800_fc5a7d91d54c-lp151.2.6.1
- (no CPE)range: < 1.2.6-16.23.1
- (no CPE)range: < 1.2.6-5.16.1
- (no CPE)range: < 1.2.6-5.16.1
- (no CPE)range: < 1.2.6-16.23.1
- (no CPE)range: < 19.03.1_ce-98.46.1
- (no CPE)range: < 19.03.1_ce-6.26.2
- (no CPE)range: < 19.03.1_ce-6.26.2
- (no CPE)range: < 19.03.1_ce-98.46.1
- (no CPE)range: < 1.0.0rc8+gitr3826_425e105d5a03-1.29.1
- (no CPE)range: < 1.0.0rc8+gitr3826_425e105d5a03-6.21.2
- (no CPE)range: < 1.0.0rc8+gitr3826_425e105d5a03-6.21.2
- (no CPE)range: < 1.0.0rc8+gitr3826_425e105d5a03-1.29.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-1.20.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-150000.1.25.1
- (no CPE)range: < 24.0.9_ce-1.20.1
- (no CPE)range: < 0.7.0.1+gitr2800_fc5a7d91d54c-25.1
- (no CPE)range: < 0.7.0.1+gitr2800_fc5a7d91d54c-4.15.1
- (no CPE)range: < 0.7.0.1+gitr2800_fc5a7d91d54c-4.15.1
- (no CPE)range: < 0.7.0.1+gitr2800_fc5a7d91d54c-25.1
Patches
211e48badcb67Merge pull request #39612 from tiborvass/cve-2019-14271
1 file changed · +9 −0
pkg/chrootarchive/archive.go+9 −0 modified@@ -4,13 +4,22 @@ import ( "fmt" "io" "io/ioutil" + "net" "os" + "os/user" "path/filepath" "github.com/docker/docker/pkg/archive" "github.com/docker/docker/pkg/idtools" ) +func init() { + // initialize nss libraries in Glibc so that the dynamic libraries are loaded in the host + // environment not in the chroot from untrusted files. + _, _ = user.Lookup("docker") + _, _ = net.LookupHost("localhost") +} + // NewArchiver returns a new Archiver which uses chrootarchive.Untar func NewArchiver(idMapping *idtools.IdentityMapping) *archive.Archiver { if idMapping == nil {
fa8dd90ceb7bInitialize nss libraries in Glibc so that the dynamic libraries are loaded in the host
1 file changed · +9 −0
pkg/chrootarchive/archive.go+9 −0 modified@@ -4,13 +4,22 @@ import ( "fmt" "io" "io/ioutil" + "net" "os" + "os/user" "path/filepath" "github.com/docker/docker/pkg/archive" "github.com/docker/docker/pkg/idtools" ) +func init() { + // initialize nss libraries in Glibc so that the dynamic libraries are loaded in the host + // environment not in the chroot from untrusted files. + _, _ = user.Lookup("docker") + _, _ = net.LookupHost("localhost") +} + // NewArchiver returns a new Archiver which uses chrootarchive.Untar func NewArchiver(idMapping *idtools.IdentityMapping) *archive.Archiver { if idMapping == nil {
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
13- lists.opensuse.org/opensuse-security-announce/2019-08/msg00084.htmlghsavendor-advisoryx_refsource_SUSEWEB
- github.com/advisories/GHSA-v2cv-wwxq-qq97ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2019-14271ghsaADVISORY
- www.debian.org/security/2019/dsa-4521ghsavendor-advisoryx_refsource_DEBIANWEB
- docs.docker.com/engine/release-notesghsaWEB
- docs.docker.com/engine/release-notes/mitrex_refsource_CONFIRM
- github.com/moby/moby/commit/11e48badcb67554b3d795241855028f28d244545ghsaWEB
- github.com/moby/moby/commit/fa8dd90ceb7bcb9d554d27e0b9087ab83e54bd2bghsaWEB
- github.com/moby/moby/issues/39449ghsax_refsource_MISCWEB
- github.com/moby/moby/pull/39612ghsaWEB
- seclists.org/bugtraq/2019/Sep/21ghsamailing-listx_refsource_BUGTRAQWEB
- security.netapp.com/advisory/ntap-20190828-0003ghsaWEB
- security.netapp.com/advisory/ntap-20190828-0003/mitrex_refsource_CONFIRM
News mentions
0No linked articles in our index yet.