Skip to main content

Apache Wicket CVE-2026-76983

| EUVDEUVD-2026-68491 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
5.1
CVSS 4.0 · Vendor
View

Attack ChainAIDerived

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

  1. Access
    Submit payload via public form field
  2. Delivery
    Payload stored in application data source
  3. Exploit
    Victim loads page with affected <wicket:label>
  4. Execution
    AutoLabelTextResolver writes unescaped label into markup
  5. Persist
    Malicious script executes in victim's browser
  6. Impact
    Session hijack or credential theft

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 vulnerable Wicket application passes attacker-controllable data into a form component's label model via FormComponent#setLabel(IModel), and that a page containing that form component is rendered to another user's browser (stored XSS) or to the attacker's own browser in a reflected scenario. The AutoLabelTextResolver is registered by default in every WebApplication, so no special plugin or configuration is required on the framework side - the limiting factor is entirely the application's data-flow design. Applications where label models are populated exclusively from static strings, resource bundles, or fully trusted sources are not affected. Exploitation also requires that a victim user loads the page containing the affected form component (UI:R), limiting mass automated exploitation. Authentication requirements depend on application design: if the attacker can influence label model data without being authenticated (e.g., via a public registration flow), no authentication is needed.

Impact

Severity is rated moderate by Apache, consistent with a typical stored or reflected XSS requiring user interaction (UI:R). No CVSS vector was published with this advisory, so exact metrics must be inferred from the description. The attack requires that attacker-controlled data reach a form component label model - this is an application-design prerequisite, not a universal exposure; not every Wicket deployment will pass untrusted input through setLabel(). However, because AutoLabelTextResolver is registered by default and the escape-model-strings bypass was silent and undocumented, developers had no indication their application was misconfigured. No EPSS score is available, KEV status is negative, and no POC has been identified - real-world exploitation probability appears low at present but could increase if a public demonstration is released. The breadth of affected versions (8.x through 10.x, plus all unsupported releases from 1.5.0) means the patch surface is wide across the ecosystem. CVSS score is officially listed as N/A; severity is based solely on the vendor's 'moderate' classification and technical description.

Exploit ScenarioDerived

An attacker submits a registration form in a vulnerable Wicket application where the field label is dynamically set from a user-profile attribute (e.g., a display name stored in a database). When the admin or another user views a page containing that form component, the malicious label value is rendered as raw HTML - executing JavaScript that steals the victim's session cookie or performs actions on their behalf. No public exploit code has been identified at time of analysis, but the attack pattern is straightforward for any developer familiar with Wicket's rendering model.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAI

Cross-site scripting in Apache Wicket's AutoLabelTextResolver allows injection of arbitrary markup into web pages when attacker-controlled data reaches a form component's label model via FormComponent#setLabel(IModel). The resolver, registered by default in every WebApplication, writes label values directly into rendered markup without any escaping and ignores the escape-model-strings application setting entirely - meaning there was no available configuration workaround. Applications are vulnerable wherever user-influenced data flows into a label model; this includes both stored XSS (data retrieved from a database) and reflected XSS (data sourced from the current request). No public exploit has been identified at time of analysis, but the vulnerability affects all supported release lines and all unsupported releases from 1.5.0 onwards.

RemediationAI

Upgrade to the fixed releases: 8.19.0, 9.24.0, or 10.11.0 for the respective maintained branches. These versions add proper HTML escaping in AutoLabelTextResolver so that label model values are neutralized before insertion into markup. No effective workaround exists - the vendor explicitly states that the resolver never consulted the escape-model-strings setting, so application-level configuration cannot mitigate the issue in unpatched versions. As a partial compensating control on unpatched deployments, audit all FormComponent#setLabel(IModel) call sites and ensure any label model value sourced from user input or external storage is manually escaped (e.g., using Wicket's Strings.escapeMarkup()) before being placed in the model - but this is application-code-level mitigation requiring a code audit rather than a configuration change. Consult the advisory at https://seclists.org/oss-sec/2026/q3/620 for further details.

Affected VersionsENISA

Apache Wicket 9.0.0 ≤9.23.0
Apache Wicket 10.0.0 ≤10.10.0
Apache Wicket 8.0.0 ≤8.18.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

Apache Wicket (org.apache.wicket:wicket-core) is a Java component-based web framework. Its markup language supports a <wicket:label> tag that is resolved by AutoLabelTextResolver - a resolver registered globally by default in WebApplication. Unlike every other rendering path in Wicket, this resolver never consulted the escape-model-strings flag, which is the standard mechanism developers rely on to ensure model values are HTML-escaped before insertion into markup. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation / XSS): the resolver performs no character escaping on the IModel value retrieved via FormComponent#setLabel, so any HTML or JavaScript characters in the label value are treated as raw markup. Notably, this is distinct from the body of a <wicket:label> tag, which intentionally supports markup and is not affected. Affected CPE: cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:* spanning versions 8.0.0-8.18.0, 9.0.0-9.23.0, and 10.0.0-10.10.0.

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

Vendor (CNA) PRIMARY 5.1 MEDIUM
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
vuln.today AI 6.1 MEDIUM

Network vector, no privileges needed to inject data; user interaction required for XSS; scope changes to victim browser with low C/I impact.

3.1 AV:N/AC:L/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:L/SI:L/SA:N

Primary rating from Vendor (CNA).

CVSS VectorVendor

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

Lifecycle Timeline

2
CVSS changed
Aug 31, 2026 - 12:22 NVD
5.1 (MEDIUM)
CVE Published
Aug 31, 2026 - 10:50 cve.org
CRITICAL

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Medium
established Java enterprise framework, not ubiquitous like Spring
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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.

More in Wicket

View all
CVE-2015-5347 MEDIUM POC
6.1 Apr 12

Cross-site scripting (XSS) vulnerability in the getWindowOpenJavaScript function in org.apache.wicket.extensions.ajax.ma

CVE-2016-6793 CRITICAL
9.1 Jul 17

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

CVE-2024-36522 CRITICAL
9.8 Jul 12

The default configuration of XSLTResourceStream.java is vulnerable to remote code execution via XSLT injection when proc

CVE-2026-40010 CRITICAL
9.1 May 06

Session fixation in Apache Wicket AuthenticatedWebSession allows remote unauthenticated attackers to hijack user session

CVE-2016-6806 HIGH
8.8 Oct 03

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

CVE-2014-3526 HIGH
7.5 Oct 30

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

CVE-2014-7808 HIGH
7.5 Sep 15

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

CVE-2026-71257 HIGH
7.5 Aug 30

Per-file size and file-count upload limit enforcement in Apache Wicket 8.x through 10.x can be bypassed when a co-deploy

CVE-2026-43646 HIGH
7.5 May 06

Remote unauthenticated attackers can access restricted package resources in Apache Wicket 8.x through 10.x by crafting U

CVE-2021-23937 HIGH
7.5 May 25

A DNS proxy and possible amplification attack vulnerability in WebClientInfo of Apache Wicket allows an attacker to trig

CVE-2020-11976 HIGH
7.5 Aug 11

By crafting a special URL it is possible to make Wicket deliver unprocessed HTML templates. Rated high severity (CVSS 7.

CVE-2024-27439 MEDIUM
6.5 Mar 19

An error in the evaluation of the fetch metadata headers could allow a bypass of the CSRF protection in Apache Wicket.1.

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