GHSA-788m-qhxv-m7f3
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify application rendering Button as `<button>` element
-
DeliveryInject HTML/JS payload into attacker-controllable model data source
-
ExploitVictim user loads the page containing the button
-
ExecutionBrowser executes injected script in victim's authenticated session
-
ImpactAttacker achieves session hijack or data exfiltration
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires two simultaneous application-level conditions: (1) the application renders a Button, AjaxButton, AjaxFallbackButton, or WizardButton component bound to a |
| Impact | Risk is conditional and lower than a typical network-exploitable XSS. Two simultaneous application-level prerequisites narrow the exploitable surface: the developer must have chosen to bind a Button to a |
| Exploit ScenarioDerived | An attacker submits malicious JavaScript (e.g., a script tag redirecting to a credential-harvesting site) as a value stored in the application database and later bound as the model for an AjaxButton or WizardButton rendered on a |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
Cross-site scripting in Apache Wicket's Button component allows injection of arbitrary markup into rendered pages when the button is bound to a <button> HTML element whose model contains attacker-influenced data. The root cause is an intentional design choice - Button's constructor clears the escape-model-strings flag to prevent double-encoding of <input> attribute values - that becomes a security flaw in the <button> rendering path, where element body content is never encoded by ComponentTag. Subclasses AjaxButton, AjaxFallbackButton, and WizardButton inherit the same constructor and are equally affected; no public exploit or CISA KEV listing is recorded at time of analysis.
RemediationAI
Upgrade to Apache Wicket 8.19.0, 9.24.0, or 10.11.0, which correct the encoding behavior for Button components rendered as <button> elements; these versions are confirmed by the vendor advisory at https://seclists.org/oss-sec/2026/q3/619. For applications that cannot immediately upgrade, the Apache-documented workaround is to call setEscapeModelStrings(true) explicitly on any Button, AjaxButton, AjaxFallbackButton, or WizardButton instance that renders as a <button> HTML element. This does not introduce double-encoding because the value attribute - which ComponentTag would double-encode - is only written for <input> elements, not <button> elements, making the workaround safe to apply selectively. Operators running the unsupported 6.x or 7.x branches will not receive patches and should apply the setEscapeModelStrings(true) workaround or plan migration to a supported branch.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache Wicket is a component-oriented Java web framework (artifact org.apache.wicket:wicket-core). The vulnerability originates in the constructor of org.apache.wicket.markup.html.form.Button, which calls setEscapeModelStrings(false) to avoid double-encoding: when rendering as an <input> element, ComponentTag already HTML-encodes attribute values, so a second encoding would corrupt display text. This design assumption breaks when a developer binds a Button to a <button> HTML element, because in that rendering path the model value is written into the element body rather than an attribute. ComponentTag does not encode element body content, so any HTML or JavaScript in the model renders as live markup. The flaw is a context-confusion defect consistent with CWE-79 (Improper Neutralization of Input During Web Page Generation / Cross-site Scripting). No CPE strings were supplied in the input data; affected artifact and version ranges are drawn from the Apache oss-security advisory.
Know when Wicket gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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:Amber
Requires non-default `<button>` element binding and attacker-controlled model data (AC:H); XSS crosses into user browser context (S:C) with standard low confidentiality and integrity impact.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
2Description PRE-NVD
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Cross-site scripting (XSS) vulnerability in the getWindowOpenJavaScript function in org.apache.wicket.extensions.ajax.ma
The DiskFileItem class in Apache Wicket 6.x before 6.25.0 and 1.5.x before 1.5.17 allows remote attackers to cause a den
The default configuration of XSLTResourceStream.java is vulnerable to remote code execution via XSLT injection when proc
Session fixation in Apache Wicket AuthenticatedWebSession allows remote unauthenticated attackers to hijack user session
Apache Wicket 6.x before 6.25.0, 7.x before 7.5.0, and 8.0.0-M1 provide a CSRF prevention measure that fails to discover
Apache Wicket before 1.5.12, 6.x before 6.17.0, and 7.x before 7.0.0-M3 might allow remote attackers to obtain sensitive
Apache Wicket before 1.5.13, 6.x before 6.19.0, and 7.x before 7.0.0-M5 make it easier for attackers to defeat a cryptog
Per-file size and file-count upload limit enforcement in Apache Wicket 8.x through 10.x can be bypassed when a co-deploy
Remote unauthenticated attackers can access restricted package resources in Apache Wicket 8.x through 10.x by crafting U
A DNS proxy and possible amplification attack vulnerability in WebClientInfo of Apache Wicket allows an attacker to trig
By crafting a special URL it is possible to make Wicket deliver unprocessed HTML templates. Rated high severity (CVSS 7.
An error in the evaluation of the fetch metadata headers could allow a bypass of the CSRF protection in Apache Wicket.1.
EUVD-2026-68489
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB