CVEsApache Software FoundationCVE-2026-82956Published Nov 1, 22:16 · Updated Nov 1, 22:16 UTC
7.6
HighCVSS 4.0 · from apache
CVE-2026-82956

Apache Wicket: XSS in AjaxNewWindowNotifyingBehavior via the client-supplied window name

org.apache.wicket:wicket-core · Cross-site scripting · CWE-79
Affectedorg.apache.wicket:wicket-core
FixNo fix listed yet.
PublishedNov 1, 22:16 · apache
ScoredNov 1 · 7.6 · apache
Exploit code publicNone known · checked 23:18 UTC
ExploitedNone known · CISA KEV checked 23:19 UTC

What we know

No known exploitation. CISA KEV, checked 23:19 UTC.
No public exploit code known. Exploit-DB, Metasploit, Nuclei, checked 23:18 UTC.
An attacker only needs network access to the target. No login needed. CVSS: network, no privileges.
It only works under certain conditions, which makes it harder to pull off. CVSS: high attack complexity.
Someone has to open, click or run something first. CVSS: user interaction required.
A successful attack can read data and change data. CVSS impact.

Description

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.

From apache

Affected and fixed versions

ProductAffectedFixed inorg.apache.wicket:wicket-core8.0.0 – 8.19.0–org.apache.wicket:wicket-core9.0.0 – 9.24.0–org.apache.wicket:wicket-core10.0.0 – 10.11.0–

Exploit code

Exploit-DBnone knownMetasploitnone knownNucleinone known

References

lists.apache.org/thread.html/fs3vdddt9bwshdstj952psj49s5w4vqm · lists.apache.orgvendor advisory

Other CVEs in org.apache.wicket:wicket-core

All 22 →
7.6Apache Wicket: XSS via a resource bundle text written unescaped into generated JavaScript and markup · CVE-2026-111089Nov 17.6Apache Wicket: XSS via a component id or markup id written unescaped into generated JavaScript and markup · CVE-2026-95863Nov 12.3Apache Wicket: CSP headers silently omitted for pages served through nested request handler delegates · CVE-2026-87718Nov 1