CVE-2026-10618
Açıklama
Hugo'nun varsayılan fenced-code-block oluşturucusu, code-fence bilgi dizesinden alınan öznitelik değerlerini kaçış karakterleri eklemeden (escaping) oluşturulan HTML'e yazar. markup/internal/attributes/attributes.go dosyasındaki yeni bir değişiklik, her öznitelik değerini saklandığı anda bir bayt diliminden dizeye dönüştürerek burada gerçekleşen kaçış işlemini kasıtlı olarak kaldırır ve aynı dosyadaki RenderAttributes yalnızca hala bayt dilimi olan değerlere kaçış işlemi uygular; bu nedenle kaçış dalına asla ulaşılmaz ve her değer olduğu gibi yazılır. Fonksiyonun dokümantasyonu, dize öznitelikleri için HTML kaçış işlemi gerçekleştirdiğini belirtmektedir ancak bunu yapmamaktadır. Bu nedenle, bilgi dizesindeki bir öznitelik değeri içindeki tırnak işareti özniteliği sonlandırır ve sarmalayıcı öğeye bir olay yakalayıcı dahil olmak üzere başka bir özniteliğin yerleştirilmesine izin verir ve betik, sayfayı yükleyen her ziyaretçi için çalışır. Bu yola, varsayılan yapılandırmada, code fence'ler etkin olduğunda, goldmark'ın unsafe ayarı veya herhangi bir özel render kancası olmadan ulaşılabilir. Öznitelikler ayrıştırıldığında on ile başlayan öznitelik adları filtrelendiğinden, enjeksiyon isim üzerinden değil değer üzerinden gerçekleştirilir.
Nasıl düzeltilir
- gohugo hugo0.165.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| gohugo hugo | 0.93.0 ≤ v < 0.165.0 | 0.165.0 |
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.