# CVE-2026-84231: Apache Wicket ExternalLink reflected XSS in onclick attribute

Source: https://junglewise.ai/threats/cve-2026-84231-improper-neutralization-of-input-during-web-page-generation-in  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-01. Updated: 2026-11-01  
License: CC BY 4.0 with a link back

CVE-2026-84231 · Severity: info · Published 2026-11-01

Apache Wicket is a Java web framework used to build interactive web applications. The ExternalLink component insecurely handles URLs when binding to non-anchor HTML elements, allowing attackers to inject malicious JavaScript that executes in users' browsers if they click the affected element. An attacker who can control the URL data could steal session tokens, perform actions on behalf of users, or redirect them to malicious sites.

Technologies: [Apache Wicket](https://junglewise.ai/threats/technologies/apache-wicket). Vendors: [Apache](https://junglewise.ai/threats/vendors/apache).

## Quick answers

**Is CVE-2026-84231 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-84231 being exploited in the wild.

**How severe is CVE-2026-84231?** Informational severity, published 1 November 2026.

**Which products and versions are affected?** Apache Wicket 8.0.0 through 8.19.0.

**Is there a fix for CVE-2026-84231?** Yes: fixed in 8.20.0. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-84231 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-84231?** Check whether you run Apache Wicket at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 8.20.0

## Technical details

The ExternalLink component concatenates user-controlled URLs into JavaScript string literals within onclick attributes without proper escaping for the JavaScript context. Although markup escaping converts apostrophes to character references, browsers decode these before compiling the event handler, allowing an attacker to break out of the string literal and inject arbitrary JavaScript. The vulnerability requires user interaction (clicking the element) and affects applications that bind ExternalLink to non-anchor elements like buttons or spans with attacker-controllable model data.

## Affected products

- Apache Wicket 8.0.0 through 8.19.0

## Timeline

- 2026-11-01: disclosed

## Related threats

- [Apache Wicket improper input neutralization in JavaScript generation](https://junglewise.ai/threats/cve-2026-95863-improper-neutralization-of-input-during-web-page-generation-in)
- [Apache Wicket missing Content-Security-Policy headers with nested request handler delegates](https://junglewise.ai/threats/cve-2026-87718-apache-wicket-10-10-0-10-11-0-and-9-24-0-do-not-set-the-content)
- [Apache Wicket path validation bypass in package resource handling](https://junglewise.ai/threats/cve-2026-84177-incorrect-behavior-order-in-apache-wicket-a-file-path-is)
- [Apache Wicket template disclosure via class loader misconfiguration](https://junglewise.ai/threats/cve-2026-84172-files-accessible-to-external-parties-in-apache-wicket-org-apache)
- [Apache Wicket resource exhaustion in file upload without limits](https://junglewise.ai/threats/cve-2026-84170-allocation-of-resources-without-limits-or-throttling-in-apache)
