
로컬 Docker 랩에서 CVE-2026-39987 Marimo 사전 인증 WebSocket RCE의 재현 및 근본 원인 분석.
이 프로젝트는 Marimo의 터미널 WebSocket 엔드포인트 /terminal/ws와 관련된 사전 인증 원격 코드 실행(Remote Code Execution) 취약점인 CVE-2026-39987에 초점을 맞추고 있습니다.
Marimo는 사용자가 웹 인터페이스를 통해 Python 코드를 작성하고 실행할 수 있게 해주는 오픈소스 반응형 Python 노트북입니다. 노트북 플랫폼은 서버 측에서 코드를 실행할 수 있기 때문에, 터미널 접근과 같은 권한 있는 기능은 적절한 인증과 접근 제어로 보호되어야 합니다.
취약한 Marimo 버전에서는 터미널 WebSocket 엔드포인트에 인증이 제대로 적용되지 않았습니다. 그 결과, 인증되지 않은 사용자가 잠재적으로 터미널 기능에 접근하여 Marimo가 실행되는 환경에서 명령을 실행할 수 있었습니다.
이 프로젝트의 목표는 로컬 Docker 랩에서 취약점을 재현하고, 근본 원인을 분석하며, 취약한 버전과 패치된 버전을 비교하고, 수정 사항이 문제를 방지하는지 검증하는 것입니다.
/terminal/ws/terminal/ws의 근본 원인 분석이 프로젝트는 교육 목적으로만 사용됩니다. 모든 테스트는 로컬 Docker 랩 환경에서 수행됩니다.