
Apache OpenMeetings 9.1.0 - High - Remote - Unauth KMS - docs docker가 8888 포트에서 Kurento JSON-RPC를 게시함
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · openmeetings-kms-unauth
분류: 인증 없는 KMS 도달 범위: 원격
Apache OpenMeetings 9.1.0 (9773c59e) - Apache Software Foundation
OpenMeetings Java는 kurento.ws.url의 기본값을 루프백으로 설정합니다. 공식 InstallMediaServer.md는 docker -p 8888:8888로 Kurento를 게시합니다. 해당 JSON-RPC에는 인증이 없습니다. 인증되지 않은 WebSocket connect와 invoke manager_ServerManager.getInfo를 수행하면 Kurento 7.3.0이 반환됩니다.
| ID | 아직 CVE 없음 |
| 분류 | 인증 없는 KMS |
| 도달 범위 | 원격 (게시된 8888에서 인증 없는 JSON-RPC) |
| CWE | CWE-306 |
| CVSS | 높음: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L |
| 제품 | Apache OpenMeetings + Kurento 7.3.0 |
| 영향 받음 | 9.1.0 문서/docker의 KMS 8888 게시 |
| 인증 | Kurento JSON-RPC에 없음 |
| 라이선스 | GNU Affero GPL v3.0 |
| 랩 | 127.0.0.1:18164만 해당. 문서가 게시하는 경로로 kurento/kurento-media-server:7.3.0 사용. |
태그 9.1.0을 고정했습니다. 해당 릴리스는 KMS 7.3.0+를 요구합니다.
게시된 Kurento 포트에 도달합니다. Authorization 헤더는 없습니다. HTTP POST는 WebSocket 전용입니다(426). ws://host:8888/kurento는 101로 업그레이드됩니다.
| 메서드 | 싱크 | 권한 |
|---|---|---|
인증 없는 ping | Kurento JSON-RPC | 정찰 (랩에서 입증): pong. |
인증 없는 connect | 세션 발급 | 무결성 (랩에서 입증): 비밀 없이 sessionId 발급. |
인증 없는 invoke manager_ServerManager.getInfo | ServerInfo | 정찰 (랩에서 입증): 버전 7.3.0, 모듈 목록 (chroma/core/...). |
인증 없는 PlayerEndpoint / RecorderEndpoint (동일 소켓) | KMS 미디어 요소 | 정찰 / 무결성 (추론): KMS UID로 HTTP/파일 가져오기; 파이프라인 생성/파괴. 실행하지 않음. 랩은 getInfo에 머묾. |
랩에서 입증 vs 추론: ping, connect, getInfo는 랩에서 입증됨. PlayerEndpoint SSRF / 파이프라인 DoS는 인증 없는 JSON-RPC로부터 추론됨.
요구 사항: InstallMediaServer.md가 보여주는 방식(-p 8888:8888)으로 KMS가 네트워크에 게시되어야 함. OM Java 기본값인 루프백은 해당 게시 전까지 안전함.
| 표면 | 이유 |
|---|---|
OM Java kurento.ws.url 기본값 | 루프백. 이 잔여물은 Java 기본값이 아니라 문서의 게시 방식임. |
SID 없는 OM /openmeetings | Wicket/CXF는 여전히 룸에 세션을 요구함. |
Upgrade 없는 HTTP POST /kurento | 426. JSON-RPC는 WebSocket임. |
전체 apache/openmeetings:9.1.0 이미지는 kurento-media-server를 0.0.0.0:8888에서 JSON-RPC 인증 없이 시작하며, 그 컨테이너는 JAVA_HOME 없이 nobody로 catalina를 실패할 수 있습니다. 문서가 가르치는 잔여물은 독립 실행형 KMS 게시입니다. kurento/kurento-media-server:7.3.0을 127.0.0.1:18164:8888로 랩에서 구성했습니다.
cd lab
./run.sh
루프백 ws://127.0.0.1:18164/kurento. 마지막 줄 증거:
SUCCESS OPENMEETINGS-KMS-UNAUTH-WITNESS
공용 인터페이스에 8888을 게시하지 마십시오. KMS를 루프백 또는 사설 compose 네트워크에 바인딩하십시오. JSON-RPC에 인증 토큰을 추가하십시오(Kurento secureKms / 리버스 프록시). 설치 문서 예제를 -p 8888:8888에서 벗어나도록 변경하십시오.
Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]
공급업체: [email protected]