{"id":30414,"date":"2026-09-29T12:31:41","date_gmt":"2026-09-29T04:31:41","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-102422"},"modified":"2026-09-29T12:31:41","modified_gmt":"2026-09-29T04:31:41","slug":"cve-2026-102422","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-102422","title":{"rendered":"CVE-2026-102422 [HIGH] &#8211; shell-quote&#8217;s `quote()` function emits a `{ comment }` token as `#` followed by its text,"},"content":{"rendered":"<p>shell-quote&#8217;s `quote()` function emits a `{ comment }` token as `#` followed by its text, which comments out the rest of the shell line, including the opening quote of any later string token. A line terminator (n, r, U+2028, U+2029) in that later string therefore ends the comment, and the rest of the string is parsed as shell input: `quote([&#8216;echo&#8217;, &#8216;ok&#8217;, { comment: &#8216;x&#8217; }, &#8216;anid;#&#8217;])` runs `id` in sh, bash, dash, ksh and zsh. `parse()` emits a comment token for a `#` in the middle of a word (for example `http:\/\/example.com\/#frag`), so callers that combine `parse()` output with another untrusted string, such as `quote(parse(untrustedCommand).concat(untrustedArg))`, are affected. The fix for CVE-2026-9277 rejected line terminators in the comment&#8217;s own text, but not in the tokens after it. Fixed in 1.11.0: `quote()` throws a `TypeError` when a string after a `{ comment }` token contains a line terminator.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>shell-quote&#8217;s `quote()` function emits a `{ comment }` token as `#` followed by its text, which comments out the rest of the shell line, including the opening quote of any later string token. A line t<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-30414","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/30414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=30414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=30414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=30414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}