CVE-2026-82115 in Wicketinformation

Résumé

par VulDB • 01/11/2026

Absence d'autorisation dans Apache Wicket.

La classe `org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler`, qui est le gestionnaire de requêtes utilisé par la prise en charge native des WebSocket de Wicket pour acheminer un frame entrant, résout la ressource partagée nommée par le paramètre de poignée de main (handshake) du client et appelle directement `WebSocketResource#onPayload()` sur celle-ci, sans consulter `IAuthorizationStrategy#isResourceAuthorized()`. Cette méthode constitue le seul point d'application dans le framework ; elle est présente dans `org.apache.wicket.request.handler.resource.ResourceRequestHandler`, que le transport WebSocket ne traverse pas. De plus, la méthode `WebSocketResource#respond()` est finale et vide. Par conséquent, aucune route vers une `WebSocketResource` n'interroge la stratégie d'autorisation configurée pour déterminer si l'appelant peut l'utiliser, et une annotation `@AuthorizeResource` sur une telle classe n'a aucun effet.

Un appelant doit disposer d'une session Wicket liée (bound) ainsi que du nom de la ressource. Ce nom n'est pas secret : Wicket l'inscrit dans la page qui ouvre la connexion. Aucune autre page de l'application n'est impliquée, car une requête nommant une ressource est servie via une page jetable (throwaway). Tous les rappels (callbacks) de la ressource sont ainsi atteints, y compris `onConnect()` et les deux surcharges de `onMessage()`, et ce qu'un rappel renvoie par l'intermédiaire de `WebSocketRequestHandler` aboutit à la connexion propre de l'appelant.

Une application est affectée si elle enregistre une `WebSocketResource` en tant que ressource partagée et s'en remet à la stratégie d'autorisation pour la restreindre. Ce que gagne l'appelant correspond aux actions effectuées par les rappels de cette ressource avec un message texte ou binaire choisi par l'appelant. La connexion est enregistrée sous la session propre de l'appelant, elle ne donne donc pas accès à la connexion d'un autre utilisateur.

En attendant une correction, il est possible de rejeter les connexions non autorisées en utilisant un `IWebSocketConnectionFilter` enregistré via `WebSocketSettings#setConnectionFilter()`, ou de répéter le contrôle d'autorisation au début de chaque rappel.

Ce problème affecte Apache Wicket : des versions 8.0.0 à 8.19.0, des versions 9.0.0 à 9.24.0 et des versions 10.0.0 à 10.11.0. Les anciennes versions non prises en charge, de la version 7.0.0 vers le haut, sont également concernées. Il est recommandé aux utilisateurs de mettre à niveau vers les versions 8.20.0, 9.25.0 ou 10.12.0, qui corrigent ce problème.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Apache

Réserver

28/08/2026

Divulgation

02/11/2026

Modérer

accepté

Entrée

VDB-429679

EPSS

0.00000

KEV

non

Activités

moyen

Sources

Do you know our Splunk app?

Download it now for free!