CVE-2026-39315
Açıklama
Unhead bir belge başlığı ve şablon yöneticisidir. 2.1.13 sürümünden önce useHeadSafe(), kullanıcı tarafından sağlanan içeriğin <head> içinde güvenli bir şekilde işlenmesi için Nuxt'ın kendi dokümantasyonunun açıkça önerdiği composable'dır. Dahili olarak, packages/unhead/src/plugins/safe.ts dosyasındaki hasDangerousProtocol() fonksiyonu, engellenmiş URI şemalarını (javascript:, data:, vbscript:) kontrol etmeden önce HTML varlıklarını çözer. Çözücü, sabit genişlikli rakam sınırlarına sahip iki düzenli ifade kullanır. HTML5 spesifikasyonu, sayısal karakter referanslarındaki baştaki sıfırlar için herhangi bir sınır getirmez. Dolgulu bir varlık regex rakam sınırını aştığında, çözücü bunu sessizce atlar. Çözülmemiş dize daha sonra eşleşme sağlamayan startsWith('javascript:') fonksiyonuna aktarılır. makeTagSafe(), ham değeri doğrudan SSR HTML çıktısına yazar. Tarayıcının HTML ayrıştırıcısı dolgulu varlığı doğal olarak çözer ve engellenmiş URI'yi oluşturur. Bu güvenlik açığı 2.1.13 sürümünde giderilmiştir.
Nasıl düzeltilir
- unjs unhead2.1.13 ya da sonraki bir sürüm
- unhead2.1.13 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| unjs unhead | v < 2.1.13 | 2.1.13 |
| unheadnpm | v < 2.1.13 | 2.1.13 |
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.