Skip to main content

Apache Wicket EUVDEUVD-2026-114888

| CVE-2026-82558 LOW
Missing Authorization (CWE-862)
2026-11-01 apache GHSA-r953-8335-p3v2
2.3
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privilege session
  2. Delivery
    Open own page containing restricted WebSocketBehavior component
  3. Exploit
    Send crafted WebSocket text/binary message
  4. Execution
    onMessage() invoked without canCallListener authorization check
  5. Impact
    Invoke restricted component callback within own session

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an application-specific, non-default coding pattern: the app must attach a WebSocketBehavior that overrides onMessage() to a component (or a child of a component) that it hides, disables, or restricts through its IAuthorizationStrategy - for example via MetaDataRoleAuthorizationStrategy or the AuthorizeAction annotation - while Wicket's native WebSocket support is in use. The attacker must hold their own valid session and open their own page containing such a component; because messages are delivered only to pages in the client's own session page store, there is no access to another user's session, page, or connection. Server-pushed messages are not affected. These factors (required authenticated session, dependence on a specific restricted-component + WebSocketBehavior combination, and self-confined scope) sharply limit realistic risk despite the network attack vector.

Impact

All decision signals point to low real-world priority and are mutually consistent. The vendor CVSS 4.0 base score is 2.3 (Low) and the vuln.today decision label is 'monitor', not act_now or emergency. The vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N) shows the attacker must already hold a low-privilege authenticated session (PR:L), the attack has a requirement precondition (AT:P) - namely the specific non-default coding pattern described - and impact is only Low on confidentiality and integrity with no availability or subsequent-system impact. Crucially, the description confines the flaw to the attacker's own session, page and WebSocket connection, so there is no cross-user or cross-tenant impact. This is not in CISA KEV (no confirmed active exploitation), no EPSS score was supplied in the input (exploitation probability cannot be quantified here), and no public exploit identified at time of analysis - the only reference is the Apache advisory thread, not PoC/exploit code. Net assessment: a genuine but low-severity authorization gap that depends on an application-specific misuse pattern; it warrants patching during normal maintenance, not emergency response. Note the 'Authentication Bypass' tag overstates the issue: CWE-862 and the description describe missing authorization for an already-authenticated user, not an authentication bypass.

Exploit ScenarioDerived

A low-privileged user with their own valid session opens one of their own pages that contains a component the application restricts via its IAuthorizationStrategy (e.g. hidden, disabled, or role-gated) but which also carries a WebSocketBehavior overriding onMessage(). The user sends crafted WebSocket text or binary messages over the single per-page connection, and Wicket delivers them straight to that behavior's onMessage() callback without performing the canCallListener authorization check an Ajax behavior on the same component would be subjected to, letting the user invoke callback logic they should not reach. No public exploit identified at time of analysis; impact is limited to the attacker's own session.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.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

Missing authorization in Apache Wicket's native WebSocket support lets a client's text and binary messages reach a WebSocketBehavior's onMessage() callbacks even when the component that behavior is attached to is hidden, disabled, or denied by the application's IAuthorizationStrategy. Only applications that override onMessage() on a WebSocketBehavior attached to (or beneath) such a restricted component are affected, and an attacker must hold their own valid session and open their own page containing that component, since messages are delivered only within the client's own page store and never to another user's session or connection. Affected releases are 8.0.0 through 8.19.0, 9.0.0 through 9.24.0 and 10.0.0 through 10.11.0 (with older unsupported 6.x-and-later releases also affected); no public exploit code has been identified at time of analysis, the issue is not in CISA KEV, and priority signals point to monitoring rather than urgent action.

RemediationAI

The vendor fix is to upgrade to Apache Wicket 8.20.0, 9.25.0 or 10.12.0, matching the branch in use, as documented in the advisory at https://lists.apache.org/thread.html/o1ojfn53742ztd13m93336t3kdjw2tq9; older 6.x and other unsupported lines receive no fix and should be migrated to a supported branch. Where upgrading cannot be done immediately, the exposure can be removed by configuration rather than by code change: ensure no WebSocketBehavior that overrides onMessage() is attached to a component, or to a child of a component, that the application hides, disables, or restricts via MetaDataRoleAuthorizationStrategy or AuthorizeAction - for instance by moving the behavior onto a component that is unconditionally visible and enabled, or by gating the message handling inside onMessage() against the same IAuthorizationStrategy decisions that would apply to the enclosing component. The trade-off of the in-callback approach is that it duplicates authorization logic outside Wicket's normal canCallListener path, so it must be kept in sync with the application's visibility, enablement and role rules; note that server-pushed messages are not affected and require no change.

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

Wicket opens a single WebSocket connection per page and dispatches each inbound message to every WebSocketBehavior bound to that page. For Ajax behaviors, Wicket gates invocation through Behavior#canCallListener(Component), which refuses a component that is not visible or not enabled, including one for which the configured IAuthorizationStrategy denies the RENDER or ENABLE action; org.apache.wicket.protocol.ws.api.WebSocketBehavior omits that equivalent check before calling its onMessage() callbacks. The root cause is therefore CWE-862 (Missing Authorization): a server-side authorization gate that exists on one dispatch path is absent on a parallel one, so a behavior on a restricted component still receives client text and binary messages together with a WebSocketRequestHandler that can write back to the client. Practically this requires a non-default, application-specific coding pattern - a WebSocketBehavior with an overridden onMessage() attached to a component (or a child of one) that the application hides, disables, or restricts through MetaDataRoleAuthorizationStrategy or the AuthorizeAction annotation - while Wicket's native WebSocket support is enabled. Scope is self-confined: delivery occurs only to pages in the attacker's own session page store, so there is no cross-session, cross-page or cross-connection reach, and server-pushed messages are unaffected. The CPE cpe:2.3:a:apache_software_foundation:apache_wicket is a wildcard covering the 8.x, 9.x and 10.x lines; the CNA scored the issue 2.3 under CVSS 4.0, while the independent assessment rates it 3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N, with authenticated access (PR:L) and high attack complexity reflecting the dependence on a specific restrictive configuration rather than on any timing or memory-manipulation condition.

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 2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.2 MEDIUM

Requires an authenticated low-privilege session (PR:L) and a specific non-default restricted-component/WebSocketBehavior configuration (AC:H); impact is limited (C:L/I:L) with no availability effect and no scope change.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/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
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Missing authorization in Apache Wicket.

org.apache.wicket.protocol.ws.api.WebSocketBehavior, through which Wicket's native WebSocket support hands a message sent by the client to the application, calls its onMessage() callbacks without checking whether the client may invoke the component the behavior is attached to. Wicket opens a single WebSocket connection per page, and a message received on it is delivered to every WebSocketBehavior of that page. For an Ajax behavior Wicket makes this check before invoking it, through Behavior#canCallListener(Component), which refuses a component that is not visible or not enabled, including one for which the IAuthorizationStrategy denies the RENDER or ENABLE action. A WebSocketBehavior attached to such a component, or to a child of one, therefore receives the client's text and binary messages, together with a WebSocketRequestHandler that writes back to that client, where an Ajax behavior on the same component would be refused.

An application is affected where it attaches a WebSocketBehavior that overrides onMessage() to a component that it hides, disables, or restricts through its IAuthorizationStrategy, for example with MetaDataRoleAuthorizationStrategy or the AuthorizeAction annotation. The client needs a session of their own and a page of their own that contains such a component: messages are delivered only to pages in the page store of the client's own session, so this gives no access to another user's session, page or connection. Messages pushed by the server are not affected.

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. Older, unsupported releases from 6.0.0 onwards are also affected. Users are recommended to upgrade to version 8.20.0, 9.25.0 or 10.12.0, which fix the issue.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche Java component-based web framework, limited production footprint
Data Quality
4 sources
Confidence: Medium

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 LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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-83539 HIGH
7.4 Nov 01

Cross-site scripting in Apache Wicket's SmartLinkLabel and SmartLinkMultiLineLabel components turns attacker-influenced

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

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