CVE-2026-102422
Təsvir
shell-quote kitabxanasının `quote()` funksiyası `{ comment }` tokenini `#` simvolu və ondan sonrakı mətn kimi təqdim edir ki, bu da shell sətirinin qalan hissəsini, o cümlədən hər hansı sonrakı sətir tokeninin açılış dırnağını şərhə çevirir. Buna görə də həmin sonrakı sətirdəki sətir sonlandırıcı (\n, \r, U+2028, U+2029) şərhi bitirir və sətirin qalan hissəsi shell girişi kimi analiz edilir: `quote(['echo', 'ok', { comment: 'x' }, 'a\nid;#'])` əmrini sh, bash, dash, ksh və zsh-də `id` olaraq işlədir. `parse()` funksiyası sözün ortasında olan `#` simvolu üçün (məsələn, `http://example.com/#frag`) şərh tokeni yaradır, buna görə də `parse()` çıxışını digər etibarsız sətirlə birləşdirən çağırışlar, məsələn, `quote(parse(untrustedCommand).concat(untrustedArg))`, bu problemdən təsirlənir. CVE-2026-9277 üçün tətbiq edilən düzəliş şərhin öz mətnindəki sətir sonlandırıcılarını rədd etmişdi, lakin ondan sonrakı tokenlərdəkiləri yox. Versiya 1.11.0-da düzəldildi: `{ comment }` tokenindən sonrakı sətir sətir sonlandırıcı ehtiva etdikdə `quote()` funksiyası `TypeError` xətası verir.
Necə düzəltmək olar
- shell-quote1.11.0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| shell-quotenpm | 1.8.4 ≤ v < 1.11.0 | 1.11.0 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.