Apache Wicket: XSS in AjaxNewWindowNotifyingBehavior via the client-supplied window name
Apache Software Foundation · Apache Wicket
No EPSS score yet. The score appears once FIRST publishes it.
DescriptionNVD
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. A
Coverage1 article · 1 outlet
First in our coverage: SecurityOnline, 2 Nov.
- Apache Wicket fixes 19 flaws across three supported releasesSecurityOnline · first in our coverage · mentions it in passing
New articles also arrive in the RSS feed.