Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Son 7 gün
  • CWE-79

CVE-2026-82956

Apache Wicket: AjaxNewWindowNotifyingBehavior üzerinden siteler arası betik çalıştırma (XSS)

Apache Software Foundation Apache Wicket

Yüksek 7,6 CVSS 4.0
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ı?

  1. 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
  2. Uygulamanızda AjaxNewWindowNotifyingBehavior kullanılıp kullanılmadığını kontrol edin; kullanılmıyorsa etkilenmediğinizi doğrulayın. Genel öneri
  3. 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ımEtkilenenDü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

  1. 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.