Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2026-84231
Published:November 01, 2026
Updated:November 04, 2026
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 span, and the URL in the model holds data an attacker can influence, which is the ordinary use of the component rather than a misuse of it. Nothing runs until a user activates the element. This issue affects Apache Wicket: from 8.0.0 through 8.19.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, which fixes the issue.
Affected Packages
https://github.com/apache/wicket.git (GITHUB):
Affected version(s) >=wicket-1.4-m1 <rel/wicket-8.20.0 || >=release/wicket-1.4.20 <rel/wicket-8.20.0 || >=wicket-1.5-M1 <rel/wicket-8.20.0 || >=release/wicket-1.5.4 <rel/wicket-8.20.0 || >=wicket-6.0.0-beta1 <rel/wicket-8.20.0 || =release/wicket-6.0.0-beta1 <rel/wicket-8.20.0 || >=wicket-6.0.0 <rel/wicket-8.20.0 || >=rel/wicket-6.22.0 <rel/wicket-8.20.0 || >=wicket-7.0.0-M1 <rel/wicket-8.20.0 || >=rel/wicket-7.0.0 <rel/wicket-8.20.0 || >=rel/wicket-8.0.0-M1 <rel/wicket-8.20.0 || >=rel/wicket-8.0.0 <rel/wicket-8.20.0
Fix Suggestion:
Update to version rel/wicket-8.20.0
org.apache.wicket:wicket (JAVA):
Affected version(s) >=1.3.0-beta2 <8.20.0 || >=1.4-m1 <8.20.0
Fix Suggestion:
Update to version 8.20.0
org.apache.wicket:wicket-core (JAVA):
Affected version(s) >=6.0.0-beta1 <8.20.0 || >=7.0.0-M1 <8.20.0 || >=8.0.0 <8.20.0 || >=7.0.0 <8.20.0 || >=8.0.0-M1 <8.20.0 || >=6.0.0 <8.20.0 || >=1.5-RC1 <8.20.0
Fix Suggestion:
Update to version 8.20.0
Do you need more information?
Contact Us
CVSS v4
Base Score:
7.4
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
PRESENT
Privileges Required
NONE
User Interaction
ACTIVE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
NONE
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
8.1
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
NONE
Weakness Type (CWE)
Improper Neutralization of Input During Web Page Generation
EPSS
Base Score:
0.33