CVE-2026-76986
Received
Received - Intake
XSS in Apache Wicket via Unescaped Default Option
Vulnerability report for CVE-2026-76986, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-08-31
Last updated on: 2026-08-31
Assigner: Apache Software Foundation
Description
Description
Improper neutralization of input during web page generation in Apache Wicket.
org.apache.wicket.markup.html.form.AbstractSingleSelectChoice, the base class of DropDownChoice, writes the body of the default option β the entry shown when no choice is selected β into the markup as it is, while every other option body in the same select is escaped according to the escape-model-strings setting. The body comes from getNullValidDisplayValue() or getNullKeyDisplayValue(), both of which are protected, so what they return is not necessarily the plain text the default implementation reads from a resource bundle.
An application is affected where it overrides one of those methods and returns a value holding data an attacker can influence, or where its own nullValid or null bundle entry holds such a value. The bundles shipped with Wicket contain plain text. RadioChoice overrides getDefaultChoice to emit no default option and is not affected.
As a workaround, escape the value in the override.
This issue affects Apache Wicket: from 8.0.0 through 8.18.0, from 9.0.0 through 9.23.0, from 10.0.0 through 10.10.0. Older, unsupported releases from 1.5.0 onwards are also affected. Users are recommended to upgrade to version 8.19.0, 9.24.0 or 10.11.0, which fix the issue.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| apache | wicket | 1.5.0 |
| apache | wicket | 8.19.0 |
| apache | wicket | 9.24.0 |
| apache | wicket | 10.11.0 |
| apache | wicket | From 8.0.0 (inc) to 8.18.0 (inc) |
| apache | wicket | From 9.0.0 (inc) to 9.23.0 (inc) |
| apache | wicket | From 10.0.0 (inc) to 10.10.0 (inc) |
| apache | wicket | From 1.5.0 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |