{"id":"CVE-2026-57998","title":"better-npm-audit through 3.11.0, and the 4.0.0-rc.2 prerelease, builds its npm audit command by interpolating the user-supplied --registry option into a command string in src/handlers/handleInput.ts without validation or quoting, then pa…","summary":"better-npm-audit through 3.11.0, and the 4.0.0-rc.2 prerelease, builds its npm audit command by interpolating the user-supplied --registry option into a command string in src/handlers/handleInput.ts without validation or quoting, then pa…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","cwe":["CWE-78"],"published":"2026-08-22","updated":"2026-08-22","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-57998","references":[{"url":"https://github.com/jeemok/better-npm-audit","label":"disclosure@vulncheck.com"},{"url":"https://github.com/jeemok/better-npm-audit/blob/fd99a0f41ff4342b8a0a6fdbe5a17261de3d0544/index.ts#L34","label":"disclosure@vulncheck.com"},{"url":"https://github.com/jeemok/better-npm-audit/blob/fd99a0f41ff4342b8a0a6fdbe5a17261de3d0544/src/handlers/handleInput.ts#L30-L37","label":"disclosure@vulncheck.com"},{"url":"https://github.com/jeemok/better-npm-audit/issues/119","label":"disclosure@vulncheck.com"},{"url":"https://github.com/jeemok/better-npm-audit/pull/120","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/better-npm-audit-os-command-injection-via-registry-flag","label":"disclosure@vulncheck.com"}],"tags":["nvd"],"ingestedAt":"2026-08-23T04:42:14.246Z","epss":0.00145,"epssPercentile":0.04158,"slug":"CVE-2026-57998","body":"## Overview\n\nbetter-npm-audit through 3.11.0, and the 4.0.0-rc.2 prerelease, builds its npm audit command by interpolating the user-supplied --registry option into a command string in src/handlers/handleInput.ts without validation or quoting, then passes that string to child_process.exec() in index.ts, which spawns a shell. A registry value containing shell metacharacters such as a semicolon, pipe, or command substitution executes arbitrary operating system commands with the privileges of the process running the audit.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}