CVE-2026-76845
Last modified
CVE-2026-76845 is a medium-severity vulnerability rated 6.5/10 on the CVSS scale. adm-zip 0.5.9 through 0.6.0 follows symbolic links at the extraction destination. Utils.sanitize in util/utils.js enforces containment by comparing only the string form of an archive entry name against the resolved extraction root, and Utils.writeFileTo opens the computed destination with fs.openSync(path, "w", 0o666), which resolves symbolic links and carries neither O_NOFOLLOW nor a pre-write fs.lstatSync check.
Description
adm-zip 0.5.9 through 0.6.0 follows symbolic links at the extraction destination. Utils.sanitize in util/utils.js enforces containment by comparing only the string form of an archive entry name against the resolved extraction root, and Utils.writeFileTo opens the computed destination with fs.openSync(path, "w", 0o666), which resolves symbolic links and carries neither O_NOFOLLOW nor a pre-write fs.lstatSync check. When a path component at the destination already exists as a symbolic link pointing outside the extraction root, extractAllTo, extractAllToAsync and extractEntryTo write the entry contents through that link and then chmod its target, placing attacker-controlled content in a file outside the root without any traversal sequence appearing in the archive. Reaching the write requires overwrite to be enabled, because the preceding fs.existsSync check also resolves the link and otherwise declines. An attacker able to create a symbolic link inside a shared, reused or predictable extraction directory, such as a temporary directory or a continuous integration workspace, can overwrite any file the extracting process is permitted to write.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| cthackers | adm-zip | >= 0.5.9, <= 0.6.0 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-76845?
How severe is CVE-2026-76845?
How do I fix CVE-2026-76845?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-7684A security vulnerability has been detected in Edimax BR-6428…8.8
- CVE-2026-76840RustDesk's Windows clipboard redirection copies a peer-suppl…9.6
- CVE-2026-76841Xinference loads models with Hugging Face remote code execut…8.8
- CVE-2026-76842The Mercado Pago Node.js SDK interpolates caller-supplied id…8.2
- CVE-2026-76843The official Flair wheels for 0.15.0 and 0.15.1 still contai…7.8
- CVE-2026-76844webpack-dev-middleware resolves a request to a local file in…7.4
- CVE-2026-76846Grav before 2.0.16 contains an incomplete default denylist i…7.5
- CVE-2026-76847act starts an HTTP Artifacts V4 backend whenever a workflow …8.8
- CVE-2026-76848TypeORM's SelectQueryBuilder.distinctOn accepts an array of …7.5
- CVE-2026-7685A vulnerability was detected in Edimax BR-6208AC up to 1.02.…8.8
- CVE-2026-76850LMDeploy deserializes disaggregated-serving peer messages wi…9.8
- CVE-2026-7686A vulnerability was found in eyeo Adblock Plus up to 4.36.2 …5.5
Are you affected by CVE-2026-76845?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
