CVE-2026-54272
Açıklama
ip-address, JavaScript'te IPv4 ve IPv6 adreslerini ayrıştırmak ve işlemek için kullanılan bir kütüphanedir. 10.1.1 ile 10.2.0 arasındaki sürümler, IPv4-mapped/NAT64 IPv6 adreslerinin yanlış sınıflandırılması nedeniyle SSRF'ye karşı savunmasızdır. Address6.getType(), bir adresi bilinen IPv6 özel kullanım önekleri tablosuyla eşleştirerek sınıflandırır ve hiçbir eşleşme olmadığında Global unicast döndürür. Bu tabloda IPv4-mapped aralığı (::ffff:0:0/96) için herhangi bir girdi bulunmadığından, her eşlenmiş adres Global unicast olarak değerlendirilmiştir; NAT64 adresleri ise kendi NAT64 ... etiketleriyle eşleşmiştir. Boolean türündeki isLoopback, isUnspecified ve isMulticast kontrolleri, getType() sonucunu sabit bir etiketle karşılaştırdığı için false döndürmüş, isLinkLocal ve isULA ise yalnızca yerel IPv6 aralıklarını kontrol etmiştir. Kütüphane halihazırda isMapped4() ve to4() fonksiyonlarını sunmaktaydı ancak bunları bu kontrollerin içinde uygulamamıştı; bu nedenle, eşlenmiş veya NAT64 bir adres sınıflandırmadan önce gömülü IPv4 adresine normalize edilmemiştir. IPv4-mapped adresler için ana işletim sistemi yönlendirmeyi IPv4 yığınına yapar, dolayısıyla bu yanlış sınıflandırmaya herhangi bir çift yığınlı (dual-stack) ana bilgisayar üzerinden erişilebilir. NAT64 için sınıflandırma atlatma koşulsuzdur ancak uçtan uca erişilebilirlik, dağıtım ağında ek olarak bir NAT64/DNS64 ağ geçidi gerektirir. Bu sorun 10.2.1 sürümünde düzeltilmiştir.
Nasıl düzeltilir
- ip-address10.2.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| ip-addressnpm | 10.1.1 ≤ v < 10.2.1 | 10.2.1 |
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.