CVE Catalog

CVE-2026-82558

LowCVSS 2.3
Published: Updated: Translated: NVD NIST

Summary

Apache Wicket fails to check authorization before invoking onMessage() callbacks in WebSocketBehavior. A client message is delivered to every WebSocketBehavior on the page, even when the component it is attached to is hidden, disabled, or denied by IAuthorizationStrategy — unlike Ajax behaviors, which perform this check.

Risk Assessment

A client can trigger onMessage() logic on a component it is not authorized to use (e.g., hidden or role-restricted), potentially leading to unauthorized actions in the application. The issue is limited to the client's own session and page and does not grant access to other users' sessions.

Recommendation

Upgrade Apache Wicket to version 8.20.0, 9.25.0, or 10.12.0, which fix the issue. Until then, avoid attaching a WebSocketBehavior with an overridden onMessage() to components that are hidden, disabled, or restricted via IAuthorizationStrategy.

Other vulnerabilities in Apache Wicket

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS