CVE-2026-33672
Açıklama
Picomatch, JavaScript ile yazılmış bir glob eşleştiricidir. 4.0.4, 3.0.2 ve 2.3.2 öncesindeki sürümler, `POSIX_REGEX_SOURCE` nesnesini etkileyen bir metod enjeksiyonu zafiyetine sahiptir. Nesne `Object.prototype` üzerinden miras aldığı için, özel olarak hazırlanmış POSIX köşeli parantez ifadeleri (örneğin, `[[:constructor:]]`) miras alınan metod isimlerine referans verebilir. Bu metodlar örtük olarak dizelere dönüştürülür ve oluşturulan düzenli ifadeye enjekte edilir. Bu durum, desenlerin istenmeyen dosya adlarıyla eşleşebildiği hatalı glob eşleştirme davranışına (bütünlük etkisi) yol açar. Sorun uzaktan kod çalıştırmaya olanak tanımaz ancak filtreleme, doğrulama veya erişim kontrolü için glob eşleştirmeye güvenen uygulamalarda güvenlik açısından kritik mantık hatalarına neden olabilir. Güvenilmeyen veya kullanıcı kontrollü glob desenlerini işleyen etkilenen `picomatch` sürümü kullanıcılarının tamamı potansiyel olarak etkilenmektedir. Bu sorun picomatch 4.0.4, 3.0.2 ve 2.3.2 sürümlerinde düzeltilmiştir. Kullanıcılar, desteklenen sürüm hattına bağlı olarak bu sürümlerden birine veya daha güncel bir sürüme yükseltme yapmalıdır. Yükseltme hemen mümkün değilse, güvenilmeyen glob desenlerinin picomatch'e aktarılmasından kaçınılmalıdır. Olası hafifletme yöntemleri arasında; özellikle `[[:...:]]` gibi POSIX karakter sınıfları içeren güvenilmeyen glob desenlerini temizlemek veya reddetmek, kullanıcı girişi söz konusu olduğunda POSIX köşeli parantez ifadelerinin kullanımından kaçınmak ve `POSIX_REGEX_SOURCE` nesnesinin boş bir prototip kullanacak şekilde değiştirilerek kütüphanenin manuel olarak yamalanması yer almaktadır.
Nasıl düzeltilir
- jonschlinkert picomatch2.3.2, 3.0.2, 4.0.4 ya da sonraki bir sürüm
- picomatch4.0.4, 3.0.2, 2.3.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| jonschlinkert picomatch | v < 2.3.2, 3.0.0 ≤ v < 3.0.2, 4.0.0 ≤ v < 4.0.4 | 2.3.2, 3.0.2, 4.0.4 |
| picomatchnpm | 4.0.0 ≤ v < 4.0.4, 3.0.0 ≤ v < 3.0.2, v < 2.3.2 | 4.0.4, 3.0.2, 2.3.2 |
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.