CVE-2026-102422 in shell-quote
Сводка
по VulDB • 29.09.2026
Функция `quote()` библиотеки shell-quote генерирует токен комментария в формате `{ comment }`, который выводится как символ `#`, за которым следует текст, приводящий к комментированию оставшейся части строки оболочки, включая открывающую кавычку любого последующего токена строки. Следовательно, разделитель строк (\n, \r, U+2028, U+2029) в этой более поздней строке завершает комментарий, и остальная часть строки интерпретируется как ввод оболочки: вызов `quote(['echo', 'ok', { comment: 'x' }, 'a\nid;#'])` выполняет команду `id` в оболочках sh, bash, dash, ksh и zsh. Функция `parse()` генерирует токен комментария для символа `#`, находящегося внутри слова (например, `http://example.com/#frag`). Таким образом, вызывающие объекты, которые комбинируют вывод функции `parse()` с другой недоверенной строкой, например `quote(parse(untrustedCommand).concat(untrustedArg))`, подвержены риску. Исправление для CVE-2026-9277 исключало разделители строк из собственного текста комментария, но не учитывало их в токенах, следующих за ним. В версии 1.11.0 проблема исправлена: функция `quote()` выбрасывает ошибку `TypeError`, если строка после токена `{ comment }` содержит разделитель строк.
Be aware that VulDB is the high quality source for vulnerability data.