CVE-2026-59952
Açıklama
Valibot, bir şema kullanarak verilerin doğrulanmasına yardımcı olur. 1.4.2 öncesindeki sürümlerde, doğrulama sorunları toString, valueOf veya hasOwnProperty gibi saldırgan tarafından kontrol edilen nesne anahtarları içerdiğinde, flatten() yardımcısı içinde bir TypeError fırlatılabilir. Bu soruna normal record() doğrulaması üzerinden erişilebilir. record() bilinçli olarak __proto__, prototype ve constructor öğelerini filtreler ancak Object.prototype kalıtımlı özellikleri ile çakışan diğer kendi anahtarlarını kabul etmeye devam eder. Eğer record anahtar şeması veya değer şeması böyle bir girişi reddederse, Valibot bu anahtarı içeren bir sorun yolu oluşturur. Ortaya çıkan sorunların Valibot'un belgelenmiş flatten() yardımcısına aktarılması, flatErrors.nested[dotPath] ifadesinin bir hata dizisi yerine kalıtımlı yönteme çözümlenmesine neden olur ve yardımcı fonksiyon bu fonksiyon üzerinde .push(...) işlemini çağırır. Bu durum küresel bir prototype pollution sorunu değildir. Etkisi kullanılabilirlik/hata yönetimidir: kullanıcı kontrollü nesneleri record() ile doğrulayan ve API yanıtları için doğrulama hatalarını flatten ile düzleştiren uygulamalar, yapılandırılmış doğrulama hataları döndürmek yerine istek yolunda bir TypeError ile çökebilir. Bu sorun 1.4.2 sürümünde düzeltilmiştir.
Nasıl düzeltilir
- valibot1.4.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| valibotnpm | v < 1.4.2 | 1.4.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.