CVE-2026-9277

Yüksək

Təsvir

shell-quote kitabxanasının `quote()` funksiyası obyekt-token girişlərini `parse()` tərəfindən istifadə edilən operator modeli ilə yoxlamırdı. `.op` sahəsi `/(.)/g` vasitəsilə simvol-simvol geri slash (backslash) ilə qaçırılırdı (escape), lakin JavaScript-də bu ifadə sətir sonlandırıcılarını (\n, \r, U+2028, U+2029) əhatə etmir. Buna görə də, `.op` daxilindəki sətir sonlandırıcı çıxışa qaçırılmadan ötürülürdü; POSIX shell-ləri hərfi yeni sətiri əmr ayırıcısı kimi qəbul edir, beləliklə ondan sonrakı hər hansı məzmun ikinci bir əmr kimi icra olunurdu. Zəifliyə səbəb olan kod yoluna iki şəkildə çatmaq mümkündür: (1) xarici girişdən `{ op: '...\n...' }` strukturunun birbaşa qurulması və (2) `envFn` hücumçu tərəfindən təsir edilən `.op` sahəsinə malik obyekt tokenləri qaytardıqda `parse(cmd, envFn)` vasitəsilə. Hər ikisi sənədləşdirilmiş API səthidir. Problem, simvol üzrə qaçırma prosesinin ciddi struktur yoxlaması ilə əvəzlənməsi ilə həll edilmişdir: `.op` sahəsi parser-in idarəetmə operatorlarının ağ siyahısına uyğun gəlməlidir; `{ op: 'glob', pattern }` strukturu `pattern`-i yoxlayır və sətir sonlandırıcılarını qadağan edir; `{ comment }` strukturu `comment`-i yoxlayır və sətir sonlandırıcılarını qadağan edir; digər bütün obyekt strukturları isə `TypeError` xətası verir.

CiddilikYüksək
CVSS8.1
İstismar ehtimalı—
MəhsulShell-quote
Dərc22 may 2026
İlk görülmə22 may 2026

Necə düzəltmək olar

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
shell-quotenpm1.1.0 ≤ v < 1.8.41.8.4

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.

Intelligence 360 paketində

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.

CVE-2026-9277 · Shell-quote · Dark Radar