CVE-2026-84231
| Severity | 7.4 High CVSS 4.0 |
|---|---|
| Weakness | Cross-site scripting (CWE-79) |
| Published | 1 Nov 2026 |
| Updated | 6 Nov 2026 |
Published 13 days ago. NVD often adds the list of affected products days or weeks after a CVE is published, and the other sources we check lag too. The scope and status here may change.
Description
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.
Exploitation status
No public exploit
No exploit has been reported in the sources we check.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV not listed
- CISA Vulnrichment exploitation: none
- Indexed PoC none indexed
- EPSS 0.33% chance in 30 days
Waratek protection
Within Waratek scope. In the sources we check, nobody has published exploit code for this CVE or reported it being exploited.
VRT has not found a public code change for this CVE yet.
- Protection none
- Action not pursued
- Review automated Upstream data
- Record active
| Decided by | Nothing to build a rule from yet: no published exploit, no CISA record of exploitation and no source-level change to read |
|---|---|
| Finding | This CVE affects a known product, but nothing published names a fix and nothing published shows an exploit. That is a statement about the evidence, not about the defect — it does not mean the vulnerability is unimportant or unreachable, only that neither of the two things VRT can act on exists. |
References
| URL | Tags |
|---|---|
| https://lists.apache.org/thread.html/39kz9838w25797bpkxn1hvfsm8jtc4zv |
Timeline
Timeline
| Published | 2026-11-01 | By the CVE Program. |
|---|---|---|
| NVD record modified | 2026-11-06 | NVD's own last-modified date for this record. |