What’s Vulnerable › Vulnerabilities
CVE-2026-80427: bestzip before 2.2.6 and 3.0.x before 3.0.2 Argument Injection via Missing Option Delimiter
- Severity: high (CVSS 8.4 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-26 · updated 2026-09-24
- Weakness: CWE-88
Description
bestzip builds the argument list for the system zip utility without separating options from operands. The destination archive path and the caller-supplied source paths are passed to the child process with no -- delimiter between them, so any source entry beginning with a hyphen is interpreted by zip as an option rather than a file name. zip accepts -T to test the finished archive and -TT to name the command used to perform that test, so a source list containing those two entries and a command string causes zip to run that command through a shell once the archive has been written. An application that passes a file name or path it received from an untrusted source into the bestzip API therefore executes a command of the supplier's choosing. Versions 2.2.6 and 3.0.2 add the delimiter.
Affected products
- nfriedly bestzip: before 2.2.6; from 3.0.0 before 3.0.2 — fixed in 2.2.6, 3.0.2
How to fix
Upgrade to a fixed version: nfriedly bestzip 2.2.6, 3.0.2. Check the vendor advisory for mitigations.
References
- https://github.com/nfriedly/node-bestzip
- https://github.com/nfriedly/node-bestzip/security/advisories/GHSA-p87m-9567-rgcc
- https://www.npmjs.com/package/bestzip
- https://www.vulncheck.com/advisories/bestzip-before-2.2.6-and-3.0-x-before-3.0.2-argument-injection-via-missing-option-delimiter
- https://github.com/nfriedly/node-bestzip/security/advisories/GHSA-p87m-9567-rgcc
Get alerted when CVE-2026-80427 or the next vulnerability affects your stack