Skip to main content

Apache Wicket EUVDEUVD-2026-114895

| CVE-2026-83539 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-11-01 apache GHSA-f448-r48f-qjch
7.4
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit text containing script-scheme URL
  2. Delivery
    Stored or displayed via SmartLinkLabel
  3. Exploit
    Parser wraps scheme in anchor href
  4. Execution
    Victim clicks crafted link
  5. Impact
    Script executes in victim's 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

The application must render attacker-influenced text through org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel or SmartLinkMultiLineLabel (no other component uses DefaultLinkParser); an application using neither is not affected. Exploitation further requires that a reader actively click the injected link (UI:A) - rendering the page alone does not trigger it. The principal limiting factor is Content-Security-Policy: on 9.x and 10.x the default nonce-based CSP prevents the injected script from running, so only deployments that have weakened or disabled CSP are exploitable on those branches; Wicket 8.x has no CSP support and is affected as it stands. No authentication is required of the attacker (PR:N). Remediation is upgrade to 8.20.0, 9.25.0, or 10.12.0.

Impact

The input provides a CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N, base 7.4) indicating a network, unauthenticated vector that nonetheless carries a genuine attack requirement (AT:P) and requires active user interaction (UI:A) - the victim must click the linkified payload, so this is not a drive-by. No EPSS score and no KEV status are present in the input, so exploitation probability cannot be quantified from the data supplied; there is no public exploit identified at time of analysis - the sole reference is the Apache advisory. Several signals lower real-world urgency below what the 7.4 suggests: exploitation requires that the application actually render untrusted text through SmartLinkLabel or SmartLinkMultiLineLabel, requires a victim click, and on the 9.x and 10.x branches the default Content-Security-Policy (nonce-based) blocks the injected script entirely unless the operator has weakened or disabled CSP. The 8.x branch has no CSP support and is exposed in full. The vuln.today decision label is 'this_week', which aligns with a real-but-conditional XSS rather than an emergency: it is a legitimate priority for the subset of deployments using these components (especially 8.x or any branch with a relaxed CSP), but not a mass-exploitation threat given the user-click requirement and the default-CSP mitigation on supported branches.

Exploit ScenarioDerived

An attacker places text containing a script-executing scheme (e.g. a javascript: URL) into data the application later displays through SmartLinkLabel or SmartLinkMultiLineLabel; DefaultLinkParser wraps the matched scheme://rest text in an anchor whose href is copied in verbatim. When a victim viewing the page clicks that link, the script runs in the application's origin and the victim's own authenticated session. No public exploit is identified at time of analysis; only the Apache advisory is referenced, and execution is blocked on 9.x/10.x unless the default CSP has been weakened.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 01, 2026

Cross-site scripting in Apache Wicket's SmartLinkLabel and SmartLinkMultiLineLabel components turns attacker-influenced text into anchors whose href is copied verbatim, so a value naming a script-executing scheme becomes a clickable script link in the application's origin and the reader's session. Affected are Wicket 8.0.0 through 8.19.0, 9.0.0 through 9.24.0 and 10.0.0 through 10.11.0, but only applications that render untrusted text through one of those two components; no other component uses DefaultLinkParser. Exploitation is not a drive-by: the reader must click the injected link, and on 9.x and 10.x the default nonce-based Content-Security-Policy blocks the script unless the deployment has weakened or disabled it, while 8.x has no CSP support and is exposed as it stands. No public exploit code was identified at time of analysis; fixed releases are 8.20.0, 9.25.0 and 10.12.0.

RemediationAI

Vendor-released patch: upgrade to Apache Wicket 8.20.0, 9.25.0 or 10.12.0, which fix the issue; these are the complete fix, and users of 7.x or older unsupported branches should move to a supported release. No vendor workaround is given beyond the fixed versions, and simply escaping the model value does not address the flaw. Where upgrading cannot be done immediately, the deployment-level controls that the advisory identifies are: on 9.x and 10.x, keep Wicket's default nonce-based Content-Security-Policy in place and do not weaken or disable it, since the default policy is what blocks the script-scheme anchor from executing on those branches (the trade-off is that applications that altered their CSP for unrelated reasons must be reverted to or aligned with a nonce-restricted script-src); and audit whether SmartLinkLabel or SmartLinkMultiLineLabel is used to render untrusted text at all, since an application using neither component is not affected. Wicket 8.x has no CSP support, so no equivalent policy mitigation exists on that branch and upgrading is the only complete fix. Advisory: https://lists.apache.org/thread.html/xqdymd8g178sc112lmqbp53zlss53cwz.

Affected VersionsENISA

Apache Wicket 10.0.0 ≤10.11.0
Apache Wicket 8.0.0 ≤8.19.0
Apache Wicket 9.0.0 ≤9.24.0

Affected Packages

euvd apache_wicket no fix

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

The flaw is CWE-79 (improper neutralization of input during web page generation) arising in the linkification feature of org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel and SmartLinkMultiLineLabel. Both components escape the model value and then pass the escaped text to org.apache.wicket.extensions.markup.html.basic.DefaultLinkParser, which scans for anything matching scheme://rest and wraps each match in an anchor whose href is the matched text, copied in as-is. The regular expression accepts any scheme and there is no permitted-scheme list anywhere on that path, so a text value naming a scheme that executes script yields an anchor that executes it. Escaping is not the defect and does not help: the characters the payload needs are valid in a URL and are ones Strings#escapeMarkup() leaves alone, and the value lands in a URL context rather than in element text, a context that escaping model data does not make safe. The trigger requires the reader to activate the link - rendering the page alone is insufficient. Application-level exposure depends on deployment: on 9.x and 10.x the Content-Security-Policy Wicket sends by default admits script only from a per-response nonce, which a script-scheme URL cannot carry, so the default policy prevents execution; that protection is a property of the policy, not of the components, and deployments that weakened or disabled CSP are fully exposed. Wicket 8.x has no CSP support and is affected as shipped. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N, base 7.4) reflects a network, unauthenticated attack path carrying a genuine attack requirement and mandatory user interaction.

Know when Apache 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

Vendor (apache) PRIMARY 7.4 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.7 MEDIUM

Network, unauthenticated, but AC:H and UI:R reflect the required victim click plus the condition that the default CSP be absent or weakened; S:C with C:L/I:L for session-origin script execution.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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

org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel and org.apache.wicket.extensions.markup.html.basic.SmartLinkMultiLineLabel display a text value and turn any URL they find in it into a hyperlink. Both escape the model value and then hand the escaped text to org.apache.wicket.extensions.markup.html.basic.DefaultLinkParser, which searches it for anything of the form scheme://rest and wraps each match in an anchor whose href is the matched text, copied in as it is. The pattern accepts any scheme, and there is no list of permitted schemes anywhere on the path. A text value naming a scheme that executes script therefore becomes an anchor that executes it, in the application's origin and in the reader's own session, when the reader clicks the link. Rendering the page is not enough on its own; the link has to be activated. Escaping does not prevent this and is not the issue: the characters the payload needs are all valid in a URL and are ones that org.apache.wicket.util.string.Strings#escapeMarkup() leaves alone, and the value ends up in a URL rather than in element text, which is a context that escaping model data does not make safe.

An application is affected where it renders text it received through either of these two components. That is what they are for: they exist to linkify email addresses and web URLs found in the data an application is displaying, so untrusted input is the purpose of the feature rather than a misuse of it, and no unusual configuration is involved. No other component uses this parser, and an application that uses neither SmartLinkLabel nor SmartLinkMultiLineLabel is not affected.

On 9.x and 10.x the Content-Security-Policy Wicket sends by default admits script only from a source carrying a per-response nonce, and a URL whose scheme executes script cannot carry one, so that default policy stops the script from running. This is a property of the default policy and not of these components. An application that has weakened or disabled its Content-Security-Policy, for this or for any unrelated reason, is affected in full. Wicket 8.x has no Content-Security-Policy support at all and is affected as it stands.

This issue affects Apache Wicket: from 8.0.0 through 8.19.0, from 9.0.0 through 9.24.0, from 10.0.0 through 10.11.0. Users of Apache Wicket 7.x or older, which are no longer supported, should upgrade to a supported version. Users are recommended to upgrade to version 8.20.0, 9.25.0 or 10.12.0, which fix the issue.

Executive ViewAI

Why It Matters

A high-severity cross-site scripting vulnerability in Apache Wicket (CVE-2026-83539) affects versions 8.x, 9.x, and 10.x, allowing attackers to inject malicious script links into pages via two specific UI components. The primary risk is session hijacking of authenticated users who click the crafted links, with Wicket 8.x deployments facing heightened exposure due to lack of built-in CSP protection. Leadership should prioritize remediation because affected applications may be used by customers or employees, and exploitation could lead to data breaches or unauthorized actions under the user's identity.

Business Impact: High
Compensating Controls

Vendor-released patch: upgrade to 8.20.0, 9.25.0, or 10.12.0. For Wicket 9.x and 10.x, ensure the default nonce-based CSP is enabled and not weakened. For Wicket 8.x, which lacks CSP support, restrict rendering of untrusted text through SmartLinkLabel and SmartLinkMultiLineLabel, or deploy a reverse-proxy/WAF rule to block script-executing schemes in links.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche Apache Java web framework, limited enterprise footprint versus Spring
Social Media
1
Sightings
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +37
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2026-43975 MEDIUM POC
6.5 May 06

Path traversal vulnerability in Apache Wicket's FolderUploadsFileManager allows unauthenticated attackers to read arbitr

CVE-2026-84170 HIGH
8.3 Nov 01

Apache Wicket's form-less upload endpoint (AbstractFileUploadResource, the server side of FileUploadToResourceField, or

CVE-2026-83594 HIGH
8.3 Nov 01

Heap-exhaustion denial of service in Apache Wicket 9.14.0 through 9.24.0 and 10.0.0 through 10.11.0, reachable without a

CVE-2026-111089 HIGH
7.6 Nov 01

Cross-site scripting in Apache Wicket 8.0.0 through 8.19.0, 9.0.0 through 9.24.0 and 10.0.0 through 10.11.0 allows text

CVE-2026-95863 HIGH
7.6 Nov 01

Cross-site scripting in Apache Wicket 8.0.0 through 8.19.0, 9.0.0 through 9.24.0 and 10.0.0 through 10.11.0 lets a value

CVE-2026-82956 HIGH
7.6 Nov 01

Stored cross-site scripting in Apache Wicket's AjaxNewWindowNotifyingBehavior allows a client-supplied browser window na

CVE-2026-84231 HIGH
7.4 Nov 01

Cross-site scripting in Apache Wicket 8.0.0 through 8.19.0 lets remote attackers get script executed in the application'

CVE-2026-83559 HIGH
7.4 Nov 01

Apache Wicket's public JavaScriptUtils.escapeQuotes() helper fails to escape backslashes before quotes, so attacker-infl

CVE-2026-82840 HIGH
7.2 Nov 01

Session fixation in Apache Wicket's role-based authentication module leaves the container session id unchanged when an a

CVE-2026-82704 MEDIUM
6.9 Nov 01

Missing authorization in Apache Wicket 8.x, 9.x and 10.x allows unauthenticated remote attackers to invoke a component's

CVE-2026-82557 MEDIUM
6.9 Nov 01

Missing authorization in Apache Wicket 10.3.0 through 10.11.0 allows a remote unauthenticated caller to invoke the serve

CVE-2026-66391 MEDIUM
6.5 Jul 27

Unauthenticated remote attackers can partially read and modify data in Apache Wicket versions 9.0.0 through 9.23.0 and 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy