Vulnerability Information
Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.
Vulnerability Title
shell-quote `quote()` does not validate object-token shapes, allowing command injection via line terminators in `.op`
Vulnerability Description
shell-quote's `quote()` function did not validate object-token inputs against the operator model used by `parse()`. The `.op` field was backslash-escaped character by character using `/(.)/g`, which in JavaScript does not match line terminators (\n, \r, U+2028, U+2029). A line terminator in `.op` therefore passed through unescaped into the output; POSIX shells treat a literal newline as a command separator, so any content after it would execute as a second command. The vulnerable code path is reachable in two ways: (1) direct construction of `{ op: '...\n...' }` from external input, and (2) via `parse(cmd, envFn)` when `envFn` returns object tokens whose `.op` is attacker-influenced. Both are documented API surface. Fixed by replacing the per-character escape with strict shape validation: `.op` must match the parser's control-operator allowlist; `{ op: 'glob', pattern }` validates `pattern` and forbids line terminators; `{ comment }` validates `comment` and forbids line terminators; any other object shape throws `TypeError`.
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Vulnerability Type
OS命令中使用的特殊元素转义处理不恰当(OS命令注入)
Vulnerability Title
shell-quote 安全漏洞
Vulnerability Description
shell-quote是Jordan Harband个人开发者的一个软件包。用于解析和引用 shell 命令。 shell-quote存在安全漏洞,该漏洞源于quote函数未验证对象令牌输入与parse使用的运算符模型,导致换行符等行终止符未转义,可能被POSIX shell解释为命令分隔符,从而执行后续内容。以下版本受到影响:shell-quote。
CVSS Information
N/A
Vulnerability Type
N/A