
Apache OpenMeetings 9.1.0 - Alta - Remoto - KMS non autenticato - docs docker espone Kurento JSON-RPC sulla porta 8888
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-kms-unauth
Classe: KMS non autenticato Raggiungibilità: Remota
Apache OpenMeetings 9.1.0 (9773c59e) - Apache Software Foundation
OpenMeetings Java imposta kurento.ws.url di default su loopback. Il documento ufficiale InstallMediaServer.md pubblica Kurento con docker -p 8888:8888. Quel JSON-RPC non ha autenticazione. Un WebSocket connect non autenticato più invoke manager_ServerManager.getInfo restituisce Kurento 7.3.0.
| ID | nessuna CVE al momento |
| Classe | KMS non autenticato |
| Raggiungibilità | Remota (JSON-RPC non autenticato sulla porta 8888 pubblicata) |
| CWE | CWE-306 |
| CVSS | Alto: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L |
| Prodotto | Apache OpenMeetings + Kurento 7.3.0 |
| Affetto | 9.1.0 documentazione/docker pubblicazione di KMS 8888 |
| Autenticazione | nessuna su Kurento JSON-RPC |
| Licenza | GNU Affero GPL v3.0 |
| Lab | solo 127.0.0.1:18164. kurento/kurento-media-server:7.3.0 come percorso di pubblicazione della documentazione. |
Ho fissato il tag 9.1.0. KMS 7.3.0+ è richiesto da quella release.
Raggiungere la porta Kurento pubblicata. Nessun header Authorization. La POST HTTP è solo WebSocket (426). ws://host:8888/kurento esegue l'upgrade 101.
| Metodo | Sink | Privilegio |
|---|---|---|
ping non autenticato | Kurento JSON-RPC | Ricognizione (provato in lab): pong. |
connect non autenticato | creazione sessione | Integrità (provato in lab): sessionId senza alcun segreto. |
invoke non autenticato manager_ServerManager.getInfo | ServerInfo | Ricognizione (provato in lab): versione 7.3.0, elenco moduli (chroma/core/...). |
PlayerEndpoint / RecorderEndpoint non autenticati (stessa socket) | elementi media KMS | Ricognizione / integrità (inferito): recupero HTTP/file con l'UID di KMS; creazione/distruzione di pipeline. Non testato. Il lab si è limitato a getInfo. |
Provato in lab vs inferito: ping, connect, getInfo sono provati in lab. PlayerEndpoint SSRF / DoS delle pipeline sono inferiti dal JSON-RPC non autenticato.
Richiede: KMS pubblicato sulla rete come mostrato in InstallMediaServer.md (-p 8888:8888). Il default loopback di OM Java è sicuro finché non avviene quella pubblicazione.
| Superficie | Motivo |
|---|---|
Default kurento.ws.url di OM Java | loopback. Questo residuo è la pubblicazione della documentazione, non il default Java. |
/openmeetings di OM senza SID | Wicket/CXF richiedono comunque una sessione per le stanze. |
POST HTTP /kurento senza Upgrade | 426. Il JSON-RPC è il WebSocket. |
L'immagine completa apache/openmeetings:9.1.0 avvia kurento-media-server su 0.0.0.0:8888 senza autenticazione JSON-RPC, poi quel container può far fallire catalina come nobody senza JAVA_HOME. Il residuo che la documentazione insegna è la pubblicazione KMS standalone. Ho allestito in lab kurento/kurento-media-server:7.3.0 con 127.0.0.1:18164:8888.
cd lab
./run.sh
Loopback ws://127.0.0.1:18164/kurento. Ultima riga del witness:
SUCCESS OPENMEETINGS-KMS-UNAUTH-WITNESS
Non pubblicare la 8888 su un'interfaccia pubblica. Associa KMS al loopback o a una rete compose privata. Aggiungi un token di autenticazione al JSON-RPC (Kurento secureKms / reverse proxy). Modifica l'esempio della documentazione di installazione per non usare -p 8888:8888.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
Fornitore: [email protected]