CVE-2023-5115: Ansible: malicious role archive can cause ansible-galaxy to overwrite arbitrary files
Vulnerability summary
CVE-2023-5115 is a medium (CVSS 6.3) Absolute Path Traversal vulnerability in debian debian_linux. EPSS estimates a 1.01% chance of exploitation in the next 30 days, higher than 63.2% of scored vulnerabilities.
Not severe (CVSS 6.3, network access); no exploitation reported by the 5 checked sources
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 8 · Related 5Timeline
- 18-12-2023PublishedVulnerability first disclosed.
- 20-11-2025Last modifiedVulnerability information updated.
Description
An absolute path traversal attack exists in the Ansible automation platform. This flaw allows an attacker to craft a malicious Ansible role and make the victim execute the role. A symlink can be used to overwrite a file outside of the extraction path.
CVSS metrics
5 scores · 5 sources · 1 version- OSV · PypiEcosystem advisory · calculated6.3MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N
- OSV · UbuntuEcosystem advisory · calculated6.3MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N
- OSV · DebianEcosystem advisory · calculated6.3MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N
- NVDNIST6.3MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N
EPSS trend
Probability
1.01%
Chance of exploitation in the next 30 days
Percentile
63%
Versus all other CVEs
30-day change
No change 0.00 pp
From 1.01% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-36Absolute Path TraversalThe product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize absolute path sequences such as "/abs/path" that can resolve to a location that is outside of that directory.
- CWE-22Improper Limitation of a Pathname to a Restricted DirectoryThe product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Affected systems
Known conditions: network-reachable, low-privilege account, user interaction (CVSS vector). Other conditions: not stated in public data.
Debian3 products
- ansible< 5.4.0-1
- ansible-core< 2.14.16-0+deb12u1 | < 2.14.11-1
- debian_linuxEOL10.0
Redhat3 products
- ansible_automation_platformEOL1.2 | 2.3 | 2.4
- ansible_developer1.0 | 1.1
- ansible_inside1.1 | 1.2
Ubuntu2 products
- ansibleAll versions (No fix recorded)
- ansible-coreAll versions (No fix recorded)
PyPI1 product
- ansible< 8.5.0
4 vendors · 9 products
References
15 links- github.com/ansible/ansiblePACKAGE
- pypi.org/project/ansiblePACKAGE