Apache Wicket: XSS in ExternalLink via the model URL when the component is bound to a non-anchor tag
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.markup.html.link.ExternalLink builds a JavaScript click handler and writes it into the tag's onclick attribute whenever the markup tag the component is bound to is not an a, link or area element. The URL held in the component's model is concatenated into a single-quoted JavaScript string literal in that handler without being escaped for that context. The same happens on the neighbouring branch, taken when popup settings are attached, where the value is concatenated into the window.open() call built by org.apache.wicket.markup.html.link.PopupSettings#getPopupJavaScript(). The only escaping applied is the markup escaping that every attribute value receives as the tag is written, which replaces an apostrophe with a character reference. A browser decodes character references in an attribute value before it compiles the event handler, so the apostrophe is restored, closes the string literal, and the rest of the model value is executed as script in the application's origin. An application is affected where it binds an ExternalLink to a markup tag that is not an anchor, such as a button or 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.