Description
Improper neutralization of input during web page generation in Apache Wicket.

org.apache.wicket.extensions.markup.html.form.palette.component.AbstractOptions, which renders the two option lists of a Palette, escapes the id and the display value of each option according to the escape-model-strings setting, and wrote the attribute names and values returned by getAdditionalAttributes into the <option> tag as they came.

An application is affected where it overrides Palette.getAdditionalAttributesForChoices, Palette.getAdditionalAttributesForSelection or AbstractOptions.getAdditionalAttributes and returns a value holding data an attacker can influence. These methods return null by default, so an application that does not override them is not affected.

As a workaround, escape the values 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.4.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.
Published: 2026-08-31
Score: 5.1 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability allows an attacker to inject arbitrary HTML or JavaScript into web pages rendered by Apache Wicket. By overriding Palette.getAdditionalAttributesForChoices, Palette.getAdditionalAttributesForSelection or AbstractOptions.getAdditionalAttributes, an application can supply attribute names and values that bypass the framework’s string escaping, leading to stored or reflected XSS that can compromise user sessions or deface sites.

Affected Systems

Apache Wicket versions 8.0.0 through 8.18.0, 9.0.0 through 9.23.0, and 10.0.0 through 10.10.0 are affected. Older, unsupported releases from 1.4.0 onward are also vulnerable. The issue is fixed in Wicket 8.19.0, 9.24.0, and 10.11.0.

Risk and Exploitability

The CVSS score of 5.1 indicates moderate severity. The EPSS score is not available, but the vulnerability is not listed in CISA’s KEV catalog, suggesting no widespread exploitation yet. Exploitation requires an application to override the specified methods and inject malicious attribute data; thus the attack vector is application‑side and depends on custom code rather than external input alone.

Generated by OpenCVE AI on August 31, 2026 at 14:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Apache Wicket to 8.19.0, 9.24.0, or 10.11.0 to apply the vendor fix.
  • If an upgrade is not possible, modify any overrides of getAdditionalAttributesForChoices, getAdditionalAttributesForSelection, or AbstractOptions.getAdditionalAttributes to perform proper escaping of attribute names and values before rendering.
  • Audit all custom Palette implementations for potential unsanitized attribute insertion and apply defensive sanitization as a temporary workaround.

Generated by OpenCVE AI on August 31, 2026 at 14:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
References
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 31 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache wicket
Vendors & Products Apache
Apache wicket

Mon, 31 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Description Improper neutralization of input during web page generation in Apache Wicket. org.apache.wicket.extensions.markup.html.form.palette.component.AbstractOptions, which renders the two option lists of a Palette, escapes the id and the display value of each option according to the escape-model-strings setting, and wrote the attribute names and values returned by getAdditionalAttributes into the <option> tag as they came. An application is affected where it overrides Palette.getAdditionalAttributesForChoices, Palette.getAdditionalAttributesForSelection or AbstractOptions.getAdditionalAttributes and returns a value holding data an attacker can influence. These methods return null by default, so an application that does not override them is not affected. As a workaround, escape the values 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.4.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.
Title Apache Wicket: XSS in Palette via getAdditionalAttributes
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/U:Green'}


cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-08-31T14:21:50.678Z

Reserved: 2026-08-20T06:51:21.350Z

Link: CVE-2026-76985

cve-icon Vulnrichment

Updated: 2026-08-31T14:12:10.948Z

cve-icon NVD

Status : Received

Published: 2026-08-31T14:17:23.310

Modified: 2026-08-31T15:17:47.550

Link: CVE-2026-76985

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T14:45:04Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')