{"id":"CVE-2026-57998","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-57998","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…","details":"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 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.","published":"2026-08-22T13:16:38.263","modified":"2026-08-22T13:16:38.263","cvss":{"score":7.8,"severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[],"fix":{"url":"https://github.com/jeemok/better-npm-audit/pull/120","label":"jeemok/better-npm-audit#120"},"references":[{"type":"WEB","url":"https://github.com/jeemok/better-npm-audit"},{"type":"WEB","url":"https://github.com/jeemok/better-npm-audit/blob/fd99a0f41ff4342b8a0a6fdbe5a17261de3d0544/index.ts#L34"},{"type":"WEB","url":"https://github.com/jeemok/better-npm-audit/blob/fd99a0f41ff4342b8a0a6fdbe5a17261de3d0544/src/handlers/handleInput.ts#L30-L37"},{"type":"WEB","url":"https://github.com/jeemok/better-npm-audit/issues/119"},{"type":"WEB","url":"https://github.com/jeemok/better-npm-audit/pull/120"},{"type":"WEB","url":"https://www.vulncheck.com/advisories/better-npm-audit-os-command-injection-via-registry-flag"}],"provenance":{"sources":["OSV.dev","NVD","FIRST.org (EPSS)"],"lastVerified":"2026-08-22T13:16:38.263"}}