- Son 7 gün
- CWE-79
CVE-2026-82956
Apache Wicket: AjaxNewWindowNotifyingBehavior ü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, uygulamanızın web sayfalarına kötü niyetli kodun yerleştirilmesine ve kullanıcılarınızın hesaplarının ele geçirilmesine yol açabilir. Açık yalnızca bu özelliği kullanan uygulamaları etkilediği için risk, yazılımınızın yapılandırmasına bağlıdır; yine de etkilenen sistemlerin hızla güncellenmesi önerilir.
ÖzetTürkçe
Apache Wicket, AjaxNewWindowNotifyingBehavior sınıfında istemciden gelen pencere adını (window.name) doğrulamadan ve kaçış uygulamadan JavaScript koduna yerleştirmektedir. Bu davranış sayfa durumunda saklandığı için, zararlı bir değer sayfa örneği her render edildiğinde tekrar çalıştırılabilir. Etkilenen durum yalnızca uygulamanın bu davranışı bir bileşene açıkça eklemiş olmasıdır.
Saldırgan ne yapabilir?
Saldırgan, uygulamanın kendi origin'inde keyfi JavaScript çalıştırabilir; bu da oturum verilerinin ele geçirilmesine veya kullanıcı adına 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.ajax.AjaxNewWindowNotifyingBehavior notices that a page instance has been opened in a second browser window or tab. It asks the browser for the value of window.name, which reaches the server as the request parameter windowName, and remembers what the browser reported in a field of the behaviour. That field is part of the page's serialized state, so the remembered value stays in the page store for as long as the page instance does.
On every later render of that page instance the behaviour builds the precondition of its Ajax call by substituting the remembered value into a single-quoted JavaScript string literal, and Wicket writes that precondition into the page as raw JavaScript, because the precondition of an Ajax call listener is script supplied by the caller and is emitted without quoting or escaping. Nothing on that path escapes the value. The window name is client-supplied and Wicket applies no validation to it, so a remembered name containing a single quote ends the literal and the rest of it runs as script in the application's origin, every time that page instance is rendered.
An application is affected only where it has explicitly added AjaxNewWindowNotifyingBehavior to a component. No part of the framework installs the behaviour, so an application that does not use it is not affected. The name the behaviour generates for itself, when the browser reports no name at all, is a random UUID and is not client-supplied.
This issue affects Apache Wicket: from 8.0.0 through 8.19.0, from 9.0.0 through 9.24.0, from 10.0.0 through 10.11.0.
Users are recommended to upgrade to version 8.20.0, 9.25.0 or 10.12.0, which fix the issue.
Ne yapmalı?
- Apache Wicket'i etkilenen dallara göre güvenli sürüme yükseltin: 8.x için 8.20.0, 9.x için 9.25.0, 10.x için 10.12.0. Genel öneri
- Uygulamanızda AjaxNewWindowNotifyingBehavior kullanılıp kullanılmadığını kontrol edin; kullanılmıyorsa etkilenmediğinizi doğrulayın. Genel öneri
- Güncelleme yapılana kadar bu davranışın eklendiği bileşenleri kaldırmayı veya devre dışı bırakmayı değerlendirin. Genel öneri
Ek önlemler
- Uygulamanın Content-Security-Policy başlığını gözden geçirerek satır içi betiklerin kısıtlanmasını sağlayın. Genel öneri
- Sayfa durumunda saklanan istemci kaynaklı değerleri düzenli olarak inceleyin ve gereksiz veri saklamaktan kaçının. 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 | – |
| ≥ 9.0.0, ≤ 9.24.0 | – | |
| ≥ 10.0.0, ≤ 10.11.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.