{"id":"GHSA-7gcp-w6ww-2xv9","summary":"Path traversal and files overwrite with unsquashfs in singularity","details":"### Impact\n\nDue to insecure handling of path traversal and the lack of path sanitization within `unsquashfs` (a distribution provided utility used by Singularity), it is possible to overwrite/create any files on the host filesystem during the extraction of a crafted squashfs filesystem.\n\nSquashfs extraction occurs automatically for unprivileged execution of Singularity (either `--without-suid` installation or with `allow setuid = no`) when a user attempts to run an image which:\n\n- is a local SIF image or a single file containing a squashfs filesystem\n- is pulled from remote sources `library://` or `shub://`\n\nImage build is also impacted in a more serious way as it is often performed by the root user, allowing an attacker to overwrite/create files leading to a system compromise.  Bootstrap methods `library`, `shub` and `localimage` trigger a squashfs extraction.\n\n### Patches\n\nThis issue is addressed in Singularity 3.6.4.\n\nAll users are advised to upgrade to 3.6.4 especially if they use Singularity mainly for building image as root user.\n\n### Workarounds\n\nThere is no solid workaround except to temporarily avoid use of unprivileged mode with single file images, in favor of sandbox images instead. Regarding image build, temporarily avoid building from `library` and `shub` sources, and as much as possible use `--fakeroot` or a VM to limit potential impact.\n\n### For more information\n\nGeneral questions about the impact of the advisory / changes made in the 3.6.0 release can be asked in the:\n\n* [Singularity Slack Channel](https://bit.ly/2m0g3lX)\n* [Singularity Mailing List](https://groups.google.com/a/lbl.gov/forum/??sdf%7Csort:date#!forum/singularity)\n\nAny sensitive security concerns should be directed to: security@sylabs.io\n\nSee our Security Policy here: https://sylabs.io/security-policy","aliases":["CVE-2020-15229"],"modified":"2026-05-07T05:00:23.215373425Z","published":"2021-05-24T16:59:53Z","database_specific":{"cwe_ids":["CWE-22"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2021-05-21T22:17:06Z","nvd_published_at":"2020-10-14T19:15:00Z"},"references":[{"type":"WEB","url":"https://github.com/hpcng/singularity/security/advisories/GHSA-7gcp-w6ww-2xv9"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15229"},{"type":"WEB","url":"https://github.com/hpcng/singularity/pull/5611"},{"type":"WEB","url":"https://github.com/hpcng/singularity/commit/eba3dea260b117198fdb6faf41f2482ab2f8d53e"},{"type":"WEB","url":"https://github.com/hpcng/singularity/blob/v3.6.4/CHANGELOG.md#security-related-fixes"},{"type":"WEB","url":"http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00070.html"},{"type":"WEB","url":"http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00071.html"},{"type":"WEB","url":"http://lists.opensuse.org/opensuse-security-announce/2020-11/msg00009.html"}],"affected":[{"package":{"name":"github.com/sylabs/singularity","ecosystem":"Go","purl":"pkg:golang/github.com/sylabs/singularity"},"ranges":[{"type":"SEMVER","events":[{"introduced":"3.1.1"},{"fixed":"3.6.4"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/05/GHSA-7gcp-w6ww-2xv9/GHSA-7gcp-w6ww-2xv9.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:N"}]}