CVE-2026-82115 in Wicketinformazioni

Riassunto

di VulDB • 01/11/2026

Mancanza di autorizzazione in Apache Wicket.

org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler, il gestore delle richieste che il supporto WebSocket nativo di Wicket utilizza per consegnare un frame in arrivo, risolve la risorsa condivisa indicata dal parametro handshake del client e chiama direttamente WebSocketResource#onPayload() su tale oggetto, senza consultare IAuthorizationStrategy#isResourceAuthorized(). Tale metodo ha un unico punto di enforcement nel framework, org.apache.wicket.request.handler.resource.ResourceRequestHandler, che il trasporto WebSocket non attraversa; inoltre, WebSocketResource#respond() è final e vuoto. Di conseguenza, nessun percorso verso una WebSocketResource richiede alla strategia di autorizzazione configurata se il chiamante possa utilizzarla, e un'annotazione @AuthorizeResource su tale classe non ha alcun effetto.

Un chiamante necessita di una sessione Wicket associata (bound) e del nome della risorsa. Il nome non è segreto: Wicket lo scrive nella pagina che apre la connessione. Nessuna altra pagina dell'applicazione è coinvolta, poiché una richiesta che nomina una risorsa viene servita tramite una pagina usa-e-getta (throwaway). Tutti i callback della risorsa vengono raggiunti in questo modo, inclusi onConnect() e entrambi gli overload di onMessage(), e ciò che un callback invia indietro attraverso WebSocketRequestHandler arriva alla connessione del chiamante stesso.

Un'applicazione è interessata quando registra una WebSocketResource come risorsa condivisa e si affida alla strategia di autorizzazione per limitarne l'accesso. Ciò che il chiamante ottiene dipende da quanto i callback della risorsa fanno con un messaggio testuale o binario scelto dal chiamante. La connessione viene registrata sotto la sessione del chiamante, quindi non fornisce accesso alla connessione di un altro utente.

Come soluzione alternativa (workaround), rifiutare le connessioni non autorizzate utilizzando un IWebSocketConnectionFilter registrato tramite WebSocketSettings#setConnectionFilter(), oppure ripetere il controllo di autorizzazione all'inizio di ogni callback.

Questo problema interessa Apache Wicket: dalle versioni 8.0.0 alla 8.19.0, dalla 9.0.0 alla 9.24.0 e dalla 10.0.0 alla 10.11.0. Sono inoltre interessate le release più vecchie non supportate a partire dalla 7.0.0. Si consiglia agli utenti di effettuare l'aggiornamento alle versioni 8.20.0, 9.25.0 o 10.12.0, che risolvono il problema.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

Apache

Prenotare

28/08/2026

Divulgazione

02/11/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

medio

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!