- Son 7 gün
- CWE-79
CVE-2026-84231
Apache Wicket ExternalLink bileşeninde model URL'si üzerinden siteler arası betik çalıştırma (XSS)
- Yayımlandı
- Güncellendi
- 2 Kas 2026
- Açık yaşı
- 0 gün
- Kaydı açan
- apache
Yönetici özeti
Bu açık, web uygulamasında bir kullanıcının tek bir bağlantıya tıklamasıyla saldırganın kontrolündeki kodun çalışmasına olanak tanıyabilir. Etkilenen sistemlerde kullanıcı hesaplarının ele geçirilme riski vardır, bu nedenle güncelleme öncelikli olarak planlanmalıdır.
ÖzetTürkçe
Apache Wicket'ta ExternalLink bileşeni, bağlı olduğu işaretleme etiketi a, link veya area dışında bir etiket olduğunda tıklama işleyicisini onclick özniteliğine yazar. Modeldeki URL, JavaScript metin değişmezine kaçışlanmadan eklenir; popup ayarları kullanıldığında window.open çağrısında da aynı durum oluşur. Bu sorun 8.0.0 ile 8.19.0 arasındaki Apache Wicket sürümlerini etkiler.
Saldırgan ne yapabilir?
Saldırgan, kullanıcı öğeye tıkladığında uygulamanın kaynağı (origin) altında kendi betiğini çalıştırabilir. Bu da oturum bilgilerinin ele geçirilmesine ve hesap üzerinde işlem yapılmasına yol açabilir.
Kaynaktaki açıklama (İngilizce)
Improper neutralization of input during web page generation in Apache Wicket.
org.apache.wicket.markup.html.link.ExternalLink builds a JavaScript click handler and writes it into the tag's onclick attribute whenever the markup tag the component is bound to is not an a, link or area element. The URL held in the component's model is concatenated into a single-quoted JavaScript string literal in that handler without being escaped for that context. The same happens on the neighbouring branch, taken when popup settings are attached, where the value is concatenated into the window.open() call built by org.apache.wicket.markup.html.link.PopupSettings#getPopupJavaScript(). The only escaping applied is the markup escaping that every attribute value receives as the tag is written, which replaces an apostrophe with a character reference. A browser decodes character references in an attribute value before it compiles the event handler, so the apostrophe is restored, closes the string literal, and the rest of the model value is executed as script in the application's origin.
An application is affected where it binds an ExternalLink to a markup tag that is not an anchor, such as a button or a span, and the URL in the model holds data an attacker can influence, which is the ordinary use of the component rather than a misuse of it. Nothing runs until a user activates the element.
This issue affects Apache Wicket: from 8.0.0 through 8.19.0. Users of Apache Wicket 7.x or older, which are no longer supported, should upgrade to a supported version.
Users are recommended to upgrade to version 8.20.0, which fixes the issue.
Ne yapmalı?
- Apache Wicket'ı 8.20.0 veya daha yeni bir sürüme yükseltin. Genel öneri
- Wicket'ın 7.x veya daha eski sürümlerini kullanıyorsanız, desteklenen bir sürüme geçin. Genel öneri
- Yükseltme yapılana kadar, ExternalLink bileşenini a, link veya area dışındaki etiketlere bağladığınız sayfaları gözden geçirin ve modeldeki URL'lerin kullanıcı girdisinden türetilip türetilmediğini kontrol edin. Genel öneri
Ek önlemler
- Kullanıcı tarafından etkilenebilen URL değerlerini yalnızca güvenli şemalara (ör. http, https) izin verecek şekilde doğrulayın. Genel öneri
- Uygulamada içerik güvenlik politikası (CSP) gibi ek tarayıcı tabanlı korumaları değerlendirin. Genel öneri
- Uygulama günlüklerinde şüpheli URL parametrelerini ve olağandışı istekleri izleyin. Genel öneri
Bu açık kişisel verilerin sızmasına yol açabilir. Sistemlerinizde kullanıldığından şüpheleniyorsanız KVKK'daki ihlal bildirimi yükümlülüğünüzü (Kurul'a 72 saat içinde bildirim) hukuk danışmanınızla birlikte değerlendirin. Bu not hukuki tavsiye değildir.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| Apache Software Foundation Apache Wicket | ≥ 8.0.0, ≤ 8.19.0 | – |
Kaynaklar3 kaynak
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.