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

CVE-2026-83539

Apache Wicket SmartLinkLabel ve SmartLinkMultiLineLabel bileşenlerinde javascript: URL'si ile XSS

Apache Software Foundation Apache Wicket

Yüksek 7,4 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 kullanıcılara gösterdiği bazı metinlerde kötü amaçlı bağlantılar oluşturulmasına izin verebilir ve bir kullanıcının bu bağlantıya tıklamasıyla hesabının ele geçirilmesine yol açabilir. Etkisi, kullanılan Wicket sürümüne, bu bileşenlerin kullanılıp kullanılmadığına ve güvenlik politikalarının yapılandırmasına bağlıdır. Risk orta-yüksek olarak değerlendirilmeli ve etkilenen sürümler mümkün olan en kısa sürede güncellenmelidir.

ÖzetTürkçe

Apache Wicket'in SmartLinkLabel ve SmartLinkMultiLineLabel bileşenleri, gösterdikleri metindeki URL'leri bağlantıya dönüştürür. Bu bağlantının href değeri, metinden herhangi bir şema kısıtlaması olmadan olduğu gibi alınır; bu nedenle betik çalıştıran bir şema içeren değer, kullanıcı bağlantıya tıkladığında uygulamanın kökeninde betik çalıştırabilir. Etkilenen sürümler 8.0.0–8.19.0, 9.0.0–9.24.0 ve 10.0.0–10.11.0 arasıdır; bu bileşenleri kullanan uygulamalar risk altındadır.

Saldırgan ne yapabilir?

Saldırgan, kullanıcı bağlantıya tıkladığında kurbanın oturumunda uygulamanın kökeninde betik çalıştırabilir; bu da oturum bilgilerinin çalınmasına veya kullanıcı adına işlem yapılmasına yol açabilir. Varsayılan Content-Security-Policy açık olduğu sürüm 9.x ve 10.x'te bu risk büyük ölçüde azalır, ancak CSP zayıflatılmış veya devre dışı bırakılmış uygulamalarda tam etki görülür.

Kaynaktaki açıklama (İngilizce)

Improper neutralization of input during web page generation in Apache Wicket.

org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel and org.apache.wicket.extensions.markup.html.basic.SmartLinkMultiLineLabel display a text value and turn any URL they find in it into a hyperlink. Both escape the model value and then hand the escaped text to org.apache.wicket.extensions.markup.html.basic.DefaultLinkParser, which searches it for anything of the form scheme://rest and wraps each match in an anchor whose href is the matched text, copied in as it is. The pattern accepts any scheme, and there is no list of permitted schemes anywhere on the path. A text value naming a scheme that executes script therefore becomes an anchor that executes it, in the application's origin and in the reader's own session, when the reader clicks the link. Rendering the page is not enough on its own; the link has to be activated. Escaping does not prevent this and is not the issue: the characters the payload needs are all valid in a URL and are ones that org.apache.wicket.util.string.Strings#escapeMarkup() leaves alone, and the value ends up in a URL rather than in element text, which is a context that escaping model data does not make safe.

An application is affected where it renders text it received through either of these two components. That is what they are for: they exist to linkify email addresses and web URLs found in the data an application is displaying, so untrusted input is the purpose of the feature rather than a misuse of it, and no unusual configuration is involved. No other component uses this parser, and an application that uses neither SmartLinkLabel nor SmartLinkMultiLineLabel is not affected.

On 9.x and 10.x the Content-Security-Policy Wicket sends by default admits script only from a source carrying a per-response nonce, and a URL whose scheme executes script cannot carry one, so that default policy stops the script from running. This is a property of the default policy and not of these components. An application that has weakened or disabled its Content-Security-Policy, for this or for any unrelated reason, is affected in full. Wicket 8.x has no Content-Security-Policy support at all and is affected as it stands.

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 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, 9.25.0 or 10.12.0, which fix the issue.

Ne yapmalı?

  1. Apache Wicket'i düzeltilmiş sürümlerden birine yükseltin: 8.x dallarında 8.20.0, 9.x dallarında 9.25.0 veya 10.x dallarında 10.12.0. Genel öneri
  2. Uygulamanızın SmartLinkLabel veya SmartLinkMultiLineLabel bileşenlerini kullanıp kullanmadığını kontrol edin; kullanmıyorsanız bu bileşenlerin etkisi yoktur. Genel öneri
  3. Yükseltme yapamıyorsanız, bu bileşenlerle gösterilen kullanıcı kaynaklı metinleri başka bir yöntemle değiştirmeyi veya bağlantı üretimini kaldırmayı değerlendirin. Genel öneri
  4. Güvenlik politikanızda Content-Security-Policy ayarlarını gözden geçirin ve zayıflatılmışsa varsayılan, nonce tabanlı korumayı geri getirin. Genel öneri

Ek önlemler

  • Yükseltme sonrasında uygulamanızda Content-Security-Policy başlığının etkin olduğunu doğrulayın. Genel öneri
  • Kullanıcı tarafından girilen ve bağlantıya dönüştürülen metinleri, özellikle javascript: gibi şemalar içerenleri, izleme kayıtlarında takip edin. 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.