Arbitrary file write via unchecked archive paths
Published Oct 23, 2023 · Updated Sep 17, 2024
Path traversal in sbt before 1.9.7 allows local users to write arbitrary files when a crafted ZIP or JAR archive is extracted. IO.unzip resolves each archive entry name beneath the destination and, before the patch, opens the resulting path without verifying that normalization remains inside that directory. Exploitation requires pullRemoteCache, Resolvers.remote, or a custom task to process the archive; the write can overwrite files accessible to the sbt process.
Summary
What happened
Path traversal in sbt before 1.9.7 allows local users to write arbitrary files when a crafted ZIP or JAR archive is extracted. IO.unzip resolves each archive entry name beneath the destination and, before the patch, opens the resulting path without verifying that normalization remains inside that directory. Exploitation requires pullRemoteCache, Resolvers.remote, or a custom task to process the archive; the write can overwrite files accessible to the sbt process.
The record
- CVE
- CVE-2023-46122
- Published
- Oct 23, 2023
- Updated
- Sep 17, 2024
- Vendor
- sbt
- Product
- sbt
- Classifications
- CWE-22, T1204.002
- Attack vector
- local
- Privileges
- authenticated
Timeline
How it unfolded
- Oct 23, 2023CVE publishedPublication date reported by the CVE source.
- Sep 17, 2024Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=>= 0.3.4, < 1.9.7
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- sbt zip-slip regression archiveproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo