CVE-2026-9277
Açıklama
shell-quote'un `quote()` fonksiyonu, object-token girdilerini `parse()` tarafından kullanılan operatör modeliyle doğrulamıyordu. `.op` alanı, JavaScript'te satır sonlandırıcılarla (\n, \r, U+2028, U+2029) eşleşmeyen `/(.)/g` kullanılarak karakter karakter ters eğik çizgi ile kaçışa uğratılıyordu. Bu nedenle, `.op` içindeki bir satır sonlandırıcı, çıktıya kaçış işlemi uygulanmadan aktarılıyordu; POSIX kabukları gerçek bir yeni satırı komut ayırıcı olarak kabul ettiğinden, ondan sonra gelen herhangi bir içerik ikinci bir komut olarak yürütülüyordu. Savunmasız kod yoluna iki şekilde erişilebiliyordu: (1) dış girdiden doğrudan `{ op: '...\n...' }` oluşturulması ve (2) `envFn` fonksiyonunun `.op` değeri saldırgan tarafından etkilenen object token'lar döndürdüğü durumlarda `parse(cmd, envFn)` aracılığıyla. Her ikisi de belgelenmiş API yüzeyleridir. Karakter bazlı kaçış işleminin, katı şekil doğrulamasıyla değiştirilmesiyle düzeltilmiştir: `.op` alanı ayrıştırıcının kontrol operatörü izin listesiyle eşleşmelidir; `{ op: 'glob', pattern }` ifadesi `pattern` değerini doğrular ve satır sonlandırıcıları yasaklar; `{ comment }` ifadesi `comment` değerini doğrular ve satır sonlandırıcıları yasaklar; diğer tüm nesne şekilleri ise `TypeError` fırlatır.
Nasıl düzeltilir
- shell-quote1.8.4 ya da sonraki bir sürüm
- github.com/ljharb/shell-quote/security/advisories/GHSA-w7jw-789q-3m8p
- access.redhat.com/errata/RHSA-2026:28010
- access.redhat.com/errata/RHSA-2026:34342
- access.redhat.com/errata/RHSA-2026:50850
- access.redhat.com/errata/RHSA-2026:36754
- access.redhat.com/errata/RHSA-2026:33574
- access.redhat.com/errata/RHSA-2026:29197
- access.redhat.com/errata/RHSA-2026:41928
- access.redhat.com/errata/RHSA-2026:62410
- access.redhat.com/errata/RHSA-2026:56912
- access.redhat.com/errata/RHSA-2026:56854
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| shell-quotenpm | 1.1.0 ≤ v < 1.8.4 | 1.8.4 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.