CVE-2026-42290
highpriority · track · 31EPSS 0.001 · 3 %ileEUUSEPSS · scored 2026-10-27
protobufjs-cli is the command line add-on for protobuf.js. Prior to 1.2.1 and 2.0.2, pbts invoked JSDoc by building a shell command string from input file paths and executing it through child_process.exec. File paths containing shell metacharacters could therefore be interpreted by the shell instead of being passed to JSDoc as plain arguments. This vulnerability is fixed in 1.2.1 and 2.0.2.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (6)
Products and version ranges known to be affected.
- protobufjs project protobufjs-cli< 1.2.1nvdUScpe:2.3:a:protobufjs_project:protobufjs-cli:*:*:*:*:*:*:*:*
- protobufjs project protobufjs-cli2.0.0 → 2.0.2nvdUScpe:2.3:a:protobufjs_project:protobufjs-cli:*:*:*:*:*:*:*:*
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-f84p-cvgm-xgjjprotobuf.js is Vulnerable to OS Command Injection in the CLI2026-05-12ghsa · osvUS
## Summary `pbts` invoked JSDoc by building a shell command string from input file paths and executing it through `child_process.exec`. File paths containing shell metacharacters could therefore be interpreted by the shell instead of being passed to JSDoc as plain arguments. ## Impact An attacker who can control file names or paths passed to `pbts` may be able to execute arbitrary shell commands with the privileges of the process running `pbts`. This affects the protobufjs CLI tooling path. The protobufjs runtime APIs for encoding, decoding, parsing, and loading protobuf messages are not directly affected by this issue. ## Preconditions - The application or user must invoke `pbts` on file paths influenced by an attacker. - The attacker must be able to supply or create a path containing shell-significant characters. - The vulnerable `pbts` version must execute the generated JSDoc command through a shell. ## Workarounds Do not run affected versions of `pbts` on attacker-controlled file names or paths. If this cannot be avoided, sanitize or rename input files before invoking `pbts`, or run the CLI in an isolated environment with minimal privileges.
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (5)
External citations — patches, advisories, analysis.
- https://access.redhat.com/security/cve/cve-2026-42290cnnvd
- https://github.com/protobufjs/protobuf.js/Patchcnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2026-42290cnnvd
- https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-f84p-cvgm-xgjjenisa_euvd
- https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-f84p-cvgm-xgjjVendor Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan