CVE-2021-29136
Improper input validation in umoci
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.5
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
- Record
CVE-2021-29136- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 2.1 Low
AV:L/AC:L/Au:N/C:N/I:P/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
CVE List No score
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
- Record
CVE-2021-29136- Updated
- 2026-11-02
EUVDEUVD-2022-0942 No score
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
- Record
EUVD-2022-0942- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-9m95-8hx6-7p9v
5.5
Improper input validation in umoci
Impact
umoci 0.4.6 and earlier can be tricked into modifying host files by creating a malicious layer that has a symlink with the name "." (or "/"). Because umoci deletes inodes if they change types, this results in the rootfs directory being replaced with an attacker-controlled symlink. Subsequent image layers will then be applied on top of the target of the symlink (which could be any directory on the host filesystem the user running umoci has access to).
While umoci does have defences against symlink-based attacks, they are all implemented by resolving things relative to the rootfs directory -- if the rootfs itself is a symlink, umoci resolves it first.
This vulnerability affects both "umoci unpack" and "umoci raw unpack".
Patches
This issue has been patched in umoci 0.4.7, see the references section for the specific commit which fixed this vulnerability.
Workarounds
Note that if you use umoci as an unprivileged user (using the --rootless flag) then umoci will not be able to overwrite any files that your user doesn't have access to. Other possible mitigations are to run umoci under an LSM profile such as AppArmor or SELinux to restrict the level of access it has outside of container image directories.
References
Credits
Thanks to Robin Peraglie from Cure53 for discovering and reporting this vulnerability.
For more information
If you have any questions or comments about this advisory
- Open an issue in https://github.com/opencontainers/umoci.
- Email us at [email protected].
- Record
GHSA-9m95-8hx6-7p9v- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVALPINE-CVE-2021-29136
5.5
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
- Record
ALPINE-CVE-2021-29136- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-03
OSV
5.5
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
- Record
CVE-2021-29136- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 15 moreShow less
OSVDEBIAN-CVE-2021-29136
5.5
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
- Record
DEBIAN-CVE-2021-29136- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-9m95-8hx6-7p9v
5.5
Improper input validation in umoci
Impact
umoci 0.4.6 and earlier can be tricked into modifying host files by creating a malicious layer that has a symlink with the name "." (or "/"). Because umoci deletes inodes if they change types, this results in the rootfs directory being replaced with an attacker-controlled symlink. Subsequent image layers will then be applied on top of the target of the symlink (which could be any directory on the host filesystem the user running umoci has access to).
While umoci does have defences against symlink-based attacks, they are all implemented by resolving things relative to the rootfs directory -- if the rootfs itself is a symlink, umoci resolves it first.
This vulnerability affects both "umoci unpack" and "umoci raw unpack".
Patches
This issue has been patched in umoci 0.4.7, see the references section for the specific commit which fixed this vulnerability.
Workarounds
Note that if you use umoci as an unprivileged user (using the --rootless flag) then umoci will not be able to overwrite any files that your user doesn't have access to. Other possible mitigations are to run umoci under an LSM profile such as AppArmor or SELinux to restrict the level of access it has outside of container image directories.
References
Credits
Thanks to Robin Peraglie from Cure53 for discovering and reporting this vulnerability.
For more information
If you have any questions or comments about this advisory
- Open an issue in https://github.com/opencontainers/umoci.
- Email us at [email protected].
- Record
GHSA-9m95-8hx6-7p9v- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVOESA-2021-1151
5.5
umoci security update
Umoci modifies Open Container images. Umoci intends to be a complete manipulation tool for OCI images. In particular, it should be seen as a more end-user-focused version of the oci-image-tools provided by the OCI.
Security Fix(es):
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.(CVE-2021-29136)
- Record
OESA-2021-1151- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2021-29136
5.5
Open Container Initiative umoci before 0.4.7 allows attackers to overwrite arbitrary host paths via a crafted image that causes symlink traversal when "umoci unpack" or "umoci raw unpack" is used.
- Record
UBUNTU-CVE-2021-29136- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGO-2022-0815 No score
Improper input validation in umoci in github.com/opencontainers/umoci
Improper input validation in umoci in github.com/opencontainers/umoci
- Record
GO-2022-0815- Updated
- 2026-11-02
OSVMGASA-2022-0006 No score
Updated singularity packages fix security vulnerability
A dependency used to extract docker/OCI image layers can be tricked into
modifying host files by creating a malicious layer that has a symlink with
the name "." (or "/"), when running as root. (CVE-2021-29136)
Dde to incorrect use of a default URL, singularity action commands
(run/shell/exec) specifying a container using a library:// URI
will always attempt to retrieve the container from the default remote
endpoint (cloud.sylabs.io) rather than the configured remote endpoint.
An attacker may be able to push a malicious container to the default
remote endpoint with a URI that is identical to the URI used by a victim
with a non-default remote endpoint, thus executing the malicious container.
Only action commands (run/shell/exec) against library:// URIs are
affected. Other commands such as pull / push respect the configured
remote endpoint. (CVE-2021-32635)
If a Content-Type header changed between two pulls of the same digest, a
client may interpret the resulting content differently. (CVE-2021-41190)
- Record
MGASA-2022-0006- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:0548-1 No score
Security update for umoci
This update for umoci fixes the following issues:
- Update to umoci v0.4.6.
- CVE-2021-29136: malicious layer allows overwriting of host files (bsc#1184147)
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2021:0548-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:0810-1 No score
Security update for singularity
This update for singularity fixes the following issues:
singularity was updated to version 3.7.3:
- Fix for CVE-2021-29136: A dependency used to extract docker/OCI image layers can be tricked into modifying host files by creating a malicious layer that has a symlink with the name '.' (or '/'), when running as root.
- Record
openSUSE-SU-2021:0810-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:0846-1 No score
Security update for umoci
This update for umoci fixes the following issues:
Update to v0.4.7 (bsc#1184147).
- CVE-2021-29136: Fixed overwriting of host files via malicious layer (bsc#1184147).
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2021:0846-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:1863-1 No score
Security update for umoci
This update for umoci fixes the following issues:
Update to v0.4.7 (bsc#1184147).
- CVE-2021-29136: Fixed overwriting of host files via malicious layer (bsc#1184147).
- Record
openSUSE-SU-2021:1863-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11384-1 No score
singularity-3.8.3-1.2 on GA media
These are all security issues fixed in the singularity-3.8.3-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11384-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11482-1 No score
umoci-0.4.7-2.3 on GA media
These are all security issues fixed in the umoci-0.4.7-2.3 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11482-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:1116-1 No score
Security update for umoci
This update for umoci fixes the following issues:
- Update to umoci v0.4.6.
- CVE-2021-29136: malicious layer allows overwriting of host files (bsc#1184147)
- Record
SUSE-SU-2021:1116-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:1863-1 No score
Security update for umoci
This update for umoci fixes the following issues:
Update to v0.4.7 (bsc#1184147).
- CVE-2021-29136: Fixed overwriting of host files via malicious layer (bsc#1184147).
- Record
SUSE-SU-2021:1863-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:1863-2 No score
Security update for umoci
This update for umoci fixes the following issues:
Update to v0.4.7 (bsc#1184147).
- CVE-2021-29136: Fixed overwriting of host files via malicious layer (bsc#1184147).
- Record
SUSE-SU-2021:1863-2- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/opencontainers/umociGo |
before 0.4.7 | 0.4.7 |
singularityAlpine:v3.19 |
before 3.7.3-r0 | 3.7.3-r0 |
singularityAlpine:v3.20 |
before 3.7.3-r0 | 3.7.3-r0 |
singularityAlpine:v3.21 |
before 3.7.3-r0 | 3.7.3-r0 |
singularityAlpine:v3.22 |
before 3.7.3-r0 | 3.7.3-r0 |
singularityAlpine:v3.23 |
before 3.7.3-r0 | 3.7.3-r0 |
singularityAlpine:v3.24 |
before 3.7.3-r0 | 3.7.3-r0 |
umociAlpine:v3.13 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.14 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.15 |
before 0.4.7-r0 | 0.4.7-r0 |
Show 44 moreShow less
| Package | Affected | Fixed |
|---|---|---|
umociAlpine:v3.16 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.17 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.18 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.19 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.20 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.21 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.22 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.23 |
before 0.4.7-r0 | 0.4.7-r0 |
umociAlpine:v3.24 |
before 0.4.7-r0 | 0.4.7-r0 |
umociDebian:12 |
before 0.4.7+ds-1 | 0.4.7+ds-1 |
umociDebian:13 |
before 0.4.7+ds-1 | 0.4.7+ds-1 |
umociDebian:14 |
before 0.4.7+ds-1 | 0.4.7+ds-1 |
singularityMageia:8 From an advisory covering 3 CVEs |
before 3.8.5-1.mga8 | 3.8.5-1.mga8 |
umociopenEuler:20.03-LTS-SP1 |
before 0.4.5-4.oe1 | 0.4.5-4.oe1 |
umociSUSE:Linux Enterprise Module for Containers 15 SP2 |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Linux Enterprise Server 15 SP1-BCL |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Linux Enterprise Server 15 SP1-LTSS |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Linux Enterprise Server for SAP Applications 15 SP1 |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Manager Proxy 4.0 |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Manager Retail Branch Server 4.0 |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Manager Server 4.0 |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Enterprise Storage 6 |
before 0.4.6-3.9.1 | 0.4.6-3.9.1 |
umociSUSE:Linux Enterprise Module for Containers 15 SP2 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Linux Enterprise Module for Containers 15 SP3 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Linux Enterprise Server 15 SP1-BCL |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Linux Enterprise Server 15 SP1-LTSS |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Linux Enterprise Server for SAP Applications 15 SP1 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Manager Proxy 4.0 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Manager Retail Branch Server 4.0 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Manager Server 4.0 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Enterprise Storage 6 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociSUSE:Linux Enterprise Module for Basesystem 15 SP3 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
umociUbuntu:20.04:LTS |
All versions, plus listed versions 0.4.4+dfsg-10.4.4+dfsg-50.4.5+dfsg-1 |
None known |
umociUbuntu:22.04:LTS |
All versions, plus listed versions 0.4.7+ds-20.4.7+ds-2build10.4.7+ds-2ubuntu0.1 |
None known |
umociopenSUSE:Leap 15.2 |
before 0.4.6-lp152.2.3.1 | 0.4.6-lp152.2.3.1 |
singularitySUSE:Package Hub 15 SP2 |
before 3.7.3-bp152.2.19.3 | 3.7.3-bp152.2.19.3 |
umociopenSUSE:Leap 15.2 |
before 0.4.7-lp152.2.6.1 | 0.4.7-lp152.2.6.1 |
umociopenSUSE:Leap 15.3 |
before 0.4.7-3.12.1 | 0.4.7-3.12.1 |
singularityopenSUSE:Tumbleweed From an advisory covering 12 CVEs |
before 3.8.3-1.2 | 3.8.3-1.2 |
umociopenSUSE:Tumbleweed |
before 0.4.7-2.3 | 0.4.7-2.3 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases, references | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-29136 is a medium vulnerability (CVSS 5.5) in Linuxfoundation Umoci, published April 6, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 28th percentile. Fixed in github.com/opencontainers/umoci 0.4.7.
References
openwall.com/lists/oss-security/2021/04/06/2
github.com/opencontainers/umoci/security/advisories/GHSA-9m95-8hx6-7p9v
github.com/opencontainers/umoci/commit/d9efc31daf2206f7d3fdb839863cf7a576a2eb57
nvd.nist.gov/vuln/detail/CVE-2021-29136
github.com/advisories/GHSA-9m95-8hx6-7p9v
security.alpinelinux.org/vuln/CVE-2021-29136
Show 30 moreShow less
security-tracker.debian.org/tracker/CVE-2021-29136
advisories.mageia.org/MGASA-2022-0006.html
bugs.mageia.org/show_bug.cgi?id=29027
lists.fedoraproject.org/archives/list/[email protected]/thread/BMX7XV7YNNNOVKKIOOPNENIXY64H4ZEY
github.com/sylabs/singularity/releases/tag/v3.7.4
lists.opensuse.org/archives/list/[email protected]/thread/U5WJLLGD3LSUWRS73C4NPIWYTMST4QO5
lists.fedoraproject.org/archives/list/[email protected]/thread/D2IU6GJMCV5CQKUQZLHBP6EHSIZZXC3X
lists.opensuse.org/archives/list/[email protected]/thread/L3AGIEOXZIUUEYYMWKJCJCQI7V235UTR
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1151
suse.com/support/update/announcement/2021/suse-su-20211116-1
bugzilla.suse.com/1184147
suse.com/security/cve/CVE-2021-29136
suse.com/support/update/announcement/2021/suse-su-20211863-1
suse.com/support/update/announcement/2021/suse-su-20211863-2
ubuntu.com/security/CVE-2021-29136
cve.org/CVERecord?id=CVE-2021-29136
lists.opensuse.org/archives/list/[email protected]/thread/4ZLXPXB6GF4EU34RGTCCDHJKHSDEN5AN
lists.opensuse.org/archives/list/[email protected]/thread/W5VF4ZLSQMAQ4QKWGENIWTALPCPOZDSV
lists.opensuse.org/archives/list/[email protected]/thread/32XRLICOS7YBFMQSQOIJWZLGKXA56ZCP
suse.com/security/cve/CVE-2018-12021
suse.com/security/cve/CVE-2018-19295
suse.com/security/cve/CVE-2019-11328
suse.com/security/cve/CVE-2019-19724
suse.com/security/cve/CVE-2020-13845
suse.com/security/cve/CVE-2020-13846
suse.com/security/cve/CVE-2020-13847
suse.com/security/cve/CVE-2020-15229
suse.com/security/cve/CVE-2020-25039
suse.com/security/cve/CVE-2020-25040
suse.com/security/cve/CVE-2021-32635