CVE-2021-25741 Symlink Exchange Can Allow Host Filesystem Access

High 8.8 Published Updated

Attackers can exploit symlink exchanges in subpath volume mounts to access or modify files on the host filesystem outside the intended volume.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2021-25741?

CVE-2021-25741 is a high-severity path traversal vulnerability in Kubernetes Kubernetes, published on 20 Sep 2021. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

A security issue was discovered in Kubernetes where a user may be able to create a container with subpath volume mounts to access files & directories outside of the volume, including on the host filesystem.

Weakness: CWE-552, CWE-20

Which versions are affected by CVE-2021-25741?

9 open source packages ship an affected version, including k8s.io/kubernetes. It affects 1 product.

PackageAffectedFixed in
k8s.io/kubernetes GoAll versions1.19.15, 1.20.11, 1.21.5, 1.22.2
k8s.io/kubernetes GoAll versions1.19.15
k8s.io/kubernetes GoAll versions1.19.15
k8s.io/kubernetes GoFrom 1.20.01.20.11
k8s.io/kubernetes GoFrom 1.20.01.20.11
k8s.io/kubernetes GoFrom 1.21.01.21.5
3 more packages
k8s.io/kubernetes GoFrom 1.21.01.21.5
k8s.io/kubernetes GoFrom 1.22.01.22.2
k8s.io/kubernetes GoFrom 1.22.01.22.2
Linux distribution packages (25)
atomic-openshift Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-clients Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-clients-redistributable Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-docker-excluder Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-excluder Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-hyperkube Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-hypershift Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-master Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-node Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-pod Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-sdn-ovs Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-template-service-broker Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
atomic-openshift-tests Red Hat:openshift:3.11::el7All versions0:3.11.524-1.git.0.2dffce7.el7
openshift Red Hat:openshift:4.6::el7All versions0:4.6.0-202109180038.p0.git.d5ed12c.assembly.stream.el7
openshift-hyperkube Red Hat:openshift:4.6::el7All versions0:4.6.0-202109180038.p0.git.d5ed12c.assembly.stream.el7
openshift Red Hat:openshift:4.6::el8All versions0:4.6.0-202109180038.p0.git.d5ed12c.assembly.stream.el8
openshift-hyperkube Red Hat:openshift:4.6::el8All versions0:4.6.0-202109180038.p0.git.d5ed12c.assembly.stream.el8
openshift Red Hat:openshift:4.7::el7All versions0:4.7.0-202109172126.p0.git.bbbc079.assembly.stream.el7
openshift-hyperkube Red Hat:openshift:4.7::el7All versions0:4.7.0-202109172126.p0.git.bbbc079.assembly.stream.el7
openshift Red Hat:openshift:4.7::el8All versions0:4.7.0-202109172126.p0.git.bbbc079.assembly.stream.el8
openshift-hyperkube Red Hat:openshift:4.7::el8All versions0:4.7.0-202109172126.p0.git.bbbc079.assembly.stream.el8
openshift Red Hat:openshift:4.8::el7All versions0:4.8.0-202109180335.p0.git.a620f50.assembly.stream.el7
openshift-hyperkube Red Hat:openshift:4.8::el7All versions0:4.8.0-202109180335.p0.git.a620f50.assembly.stream.el7
openshift Red Hat:openshift:4.8::el8All versions0:4.8.0-202109180335.p0.git.a620f50.assembly.stream.el8
openshift-hyperkube Red Hat:openshift:4.8::el8All versions0:4.8.0-202109180335.p0.git.a620f50.assembly.stream.el8

Products include Kubernetes Kubernetes.

How do I fix CVE-2021-25741?

Upgrade k8s.io/kubernetes to a fixed version for your release line: 1.19.15, 1.20.11, 1.21.5 or 1.22.2.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2021-25741 being exploited?

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

Public exploit code: 3 proofs of concept on GitHub.

All Kubernetes Kubernetes vulnerabilities

Sources

Also known as CLEANSTART-2025-RU72317, DEBIAN-CVE-2021-25741, GHSA-f5f7-6478-qm6p, GO-2022-0910, RHSA-2021:3631, RHSA-2021:3635 and 2 more.

Is CVE-2021-25741 in your software?

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

Check your SBOMs for free