CVE-2026-71300
Apache Camel: Camel-Atmosphere-Websocket: iniezione dell'header di dispatch WebSocket
- Pubblicato
- 24 ago 2026
- Aggiornato
- 25 ago 2026
- Assegnazione CNA
- apache
- Evidenza osservata
- 24 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 39,1%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Vulnerabilità di convalida impropria dell'input nel componente Apache Camel Atmosphere Websocket. Il problema interessa Apache Camel: dalla 4.0.0 a prima della 4.14.9, dalla 4.15.0 a prima della 4.18.4, dalla 4.19.0 a prima della 4.22.0. Il producer camel-atmosphere-websocket seleziona a quali peer WebSocket connessi viene consegnato un messaggio tramite gli header Exchange, e i valori stringa di quegli header si trovavano al di fuori del namespace Camel: websocket.connectionKey e websocket.connectionKey.list, insieme a websocket.sendToAll, websocket.eventType e websocket.errorType. WebsocketEndpoint estende ServletEndpoint e quindi eredita HttpHeaderFilterStrategy, che filtra solo i prefissi Camel e camel; i nomi puntati ricadevano quindi al di fuori del namespace filtrato e venivano ammessi in entrambe le direzioni da ogni consumer della famiglia HTTP. In una route che collega un consumer HTTP a un producer atmosphere-websocket, un mittente esterno poteva fornire l'header di lista e assumere il controllo della decisione di distribuzione del producer. WebsocketProducer.process verifica l'header di lista prima dell'header a chiave singola, quindi un valore iniettato scartava il destinatario selezionato dalla route: una notifica destinata a un client connesso poteva essere soppressa o consegnata invece a un client diverso di cui il mittente conosce la chiave di connessione. L'header non deve essere un parametro di query e non deve essere fornito letteralmente come lista - il binding HTTP di Camel promuove un nome di header ripetuto e un valore tra parentesi quadre a List quando viene mappato sull'Exchange - quindi un normale header HTTP in ingresso è sufficiente per raggiungere il ramo con valore di lista. Questa vulnerabilità è distinta da CVE-2026-55993, che riguarda il percorso dei parametri di query lato consumer nello stesso componente. Il comportamento risale all'introduzione di queste costanti, rilasciate per la prima volta nella 2.17.0, ed è rimasto invariato fino a questa correzione. Si consiglia agli utenti di aggiornare alla versione 4.22.0, che risolve il problema. Se gli utenti si trovano sul ramo di rilascio LTS 4.14.x, si consiglia di aggiornare alla 4.14.9. Se gli utenti si trovano sul ramo di rilascio 4.18.x, si consiglia di aggiornare alla 4.18.4. Per le distribuzioni che non possono aggiornare immediatamente, rimuovere gli header di distribuzione al confine di fiducia prima del producer, ad esempio con removeHeaders(“websocket.*”) posizionato tra il consumer HTTP e il producer atmosphere-websocket. Si noti che la correzione rinomina i valori stringa degli header all'interno del namespace Camel, il che è una modifica che interrompe la compatibilità per le route che li impostano con stringhe letterali: le route che fanno riferimento ai campi WebsocketConstants simbolicamente non sono interessate e la modifica è documentata nelle guide di aggiornamento. Come difesa in profondità, non collegare un consumer HTTP non fidato direttamente a un producer WebSocket la cui distribuzione è guidata da header, senza prima rimuovere il namespace di distribuzione.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.