CVE-2015-1197
NoneCVSS
—
EPSS
2.9%
Published
Feb 19, 2015
CISA due date
—
Cloudanix analysis
A local attacker can trick certain archive extraction tools into overwriting important files on the system, which may let them change how the computer behaves or disrupt services.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Application
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
When cpio is invoked with --no-absolute-filenames, a symlink present inside an archive can be followed during extraction, allowing a local attacker to write to arbitrary filesystem locations outside the intended destination directory.
Why it matters to the business
Attackers with local access can overwrite configuration files, binaries, or data on affected systems, leading to integrity loss, potential privilege escalation, or disruption of services that rely on the extracted archive contents.
How an attack unfolds
An attacker prepares a cpio archive containing a symlink that points outside the extraction root, then convinces a privileged process or user to extract the archive using the --no-absolute-filenames flag; the extraction follows the symlink and writes attacker-controlled content to the target path.
How to fix it
Upgrade affected packages to the versions that contain a patched cpio implementation; for the listed Chainguard images this means argo-cd-2.9, argo-cd-2.9-compat and argo-cd-2.9-repo-server updated to 2.9.17-r1 or newer. Where direct cpio upgrades are available, move to a release that enforces safer path handling even under --no-absolute-filenames.
How to confirm the fix worked
Confirm the installed cpio binary reports a version newer than 2.11 or that the Chainguard package manifests show the 2.9.17-r1 (or later) digest; re-test extraction of a crafted archive containing symlinks to verify writes are confined to the intended directory.
Typical attack path
- Craft a cpio archive embedding a malicious symlink entry
- Place the archive in a location reachable by the target process or user
- Trigger extraction via cpio --no-absolute-filenames (often through automated packaging or backup scripts)
- Symlink is followed and arbitrary file is overwritten
- Attacker leverages the modified file for persistence or escalation
How to detect it
Search process execution logs and audit trails for invocations of cpio or derived tools that include the --no-absolute-filenames flag; inspect extraction target directories for unexpected symlinks or files whose timestamps or owners differ from the archive metadata.
What your security team should do
- Immediately update the three listed Chainguard argo-cd images to 2.9.17-r1
- Audit all scripts and automation that invoke cpio with --no-absolute-filenames and replace with safer alternatives such as tar --no-overwrite-dir
- Add runtime detection for cpio processes writing through symlinks via filesystem monitoring
- Review historical extraction logs for unexpected file modifications outside designated paths
The record
cpio 2.11, when using the --no-absolute-filenames option, allows local users to write to arbitrary files via a symlink attack on a file in an archive.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | cpio | 0 | 2.11+dfsg-4.1 |
| Debian:11 | cpio | 0 | 2.11+dfsg-4.1 |
| Debian:12 | cpio | 0 | 2.11+dfsg-4.1 |
| Debian:13 | cpio | 0 | 2.11+dfsg-4.1 |
| Mageia:7 | cpio | 0 | 2.13-1.mga7 |
| Ubuntu:14.04:LTS | cpio | 0 | 2.11+dfsg-1ubuntu1.2 |
| Ubuntu:16.04:LTS | cpio | 0 | 2.11+dfsg-4.1ubuntu1 |
| openSUSE:Tumbleweed | cpio | 0 | 2.13-3.3 |
Related vulnerabilities
- CVE-2010-0624 Heap-based buffer overflow in the rmt_read__ function in lib/rtapelib.c in the rmt client… Also affects cpio
- CVE-2007-4476 Buffer overflow in the safer_name_suffix function in GNU tar has unspecified attack… Also affects cpio
- CVE-2023-7207 Debian's cpio contains a path traversal vulnerability. Also affects cpio