Skip to main content

Apache Wicket CVE-2026-76982

| EUVDEUVD-2026-68489 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
    Identify application rendering Button as `<button>` element
  2. Delivery
    Inject HTML/JS payload into attacker-controllable model data source
  3. Exploit
    Victim user loads the page containing the button
  4. Execution
    Browser executes injected script in victim's authenticated session
  5. Impact
    Attacker 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 <button> HTML element - not the default <input> rendering - and (2) the button's model object is populated with data an attacker can influence, such as a stored user-submitted value or a request parameter reflected into the model. The flaw is NOT exploitable when buttons render as <input> elements (the more common case), when model content is entirely under developer control, or when setEscapeModelStrings(true) is explicitly called on the component. No CVSS vector was provided in the input data, so authentication requirements for the attacker cannot be confirmed from available signals; the attacker's exploitation path depends entirely on how the application populates the button's model.

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 <button> HTML element rather than the default <input> rendering, and the button's model must be populated with attacker-controllable data. Many Wicket deployments will meet neither condition. No CVSS vector was provided, so attack metrics are inferred from the description rather than confirmed; no EPSS score is available to quantify exploitation probability, and the vulnerability does not appear in the CISA KEV catalog. Apache's own 'moderate' severity rating aligns with the conditional exploitability profile. The XSS impact class - session hijacking, credential theft, malicious redirects - is real and well-understood, meaning that organizations whose Wicket applications do render user-supplied data through Button models on <button> elements should prioritize patching regardless of the overall moderate rating.

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 <button> element. When a legitimate user loads the affected page, the unencoded payload executes in their browser context, enabling session token theft or arbitrary page manipulation. No public proof-of-concept code is known at time of analysis, so exploitation requires attacker knowledge of this flaw and a reachable injection point in the target application.

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 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

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 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

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 4.7 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:H/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
MEDIUM

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
Low
niche Java web framework, limited footprint vs. Spring ecosystem
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