CVE-2026-72860
Açıklama
9router içindeki POST /api/provider-nodes/validate rotası, çağıran tarafından sağlanan bir baseUrl alır ve bu adrese sunucu tarafında HTTP istekleri gönderir; hedefi src/shared/utils/ssrfGuard.js içindeki assertPublicUrl ile korur. Bu koruma yalnızca hostname dizelerini karşılaştırır: hiçbir DNS çözümlemesi yapmaz, yönlendirmeden sonra yeniden doğrulama yapmaz ve IPv4 eşlemeli IPv6 dalı erişilemez durumdadır. Dal ^::ffff:(\d+\.\d+\.\d+\.\d+)$ ile eşleşir, ancak WHATWG URL ayrıştırıcısı bu tür sabit değerleri koruma çalışmadan önce hextet'lere kanonikleştirir; bu nedenle new URL("http://[::ffff:127.0.0.1]/").hostname [::ffff:7f00:1] döndürür ve desen, kendisine hiç verilmeyen bir dize üzerinde test edilir. Bu nedenle her IPv4 eşlemeli adres geçer ve http://[::ffff:7f00:1] ile http://[::ffff:a9fe:a9fe] loopback ve link-local metadata adreslerine ulaşır; A kaydı dahili bir adrese işaret eden bir hostname de hiçbir çözümleme gerçekleşmediği için geçer. Özel gömme dalında, üst akış durumu ne 2xx ne 401 ne de 403 olduğunda üst akış yanıt gövdesi 200 bayta kısaltılır ve çağırana döndürülür; bu da dahili yanıtların başlangıcını ifşa eder ve diğer doğrulama türleri durum ve zamanlama farklılıkları aracılığıyla kör dahili port taraması için kullanılabilir durumda kalır. Çağıran tarafından sağlanan apiKey, Authorization Bearer başlığı olarak dahili hedefe iletilir. Varsayılan olarak bir dashboard oturumu gerekir ve requireLogin devre dışı bırakıldığında hiçbiri gerekmez.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| decolua 9router | v ≤ 0.5.55 | — |
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.