🇰🇷 한글 설명
Lumiverse의 MCP 서버 생성 엔드포인트가 바이너리 이름만 검증하고 arguments를 무검증으로 전달하여, 로그인한 사용자가 코드 실행 플래그(-e, -c 등)를 통해 서버에서 임의의 OS 명령을 실행할 수 있습니다. Host 헤더 검증 우회로 네트워크 접근 가능한 모든 공격자가 악용할 수 있으며, 0.9.7에서 수정됨
💡 쉬운 설명
Lumiverse 앱에 로그인한 사람이라면 누구나 특수한 명령을 보내서 서버를 완전히 장악할 수 있습니다. 마치 보안 문이 열려있는 것처럼, 악의적인 사용자가 서버의 모든 권한으로 원하는 명령을 실행할 수 있게 됩니다.
🇺🇸 원문 (English)
Lumiverse is a full-featured AI chat application. Prior to 0.9.7, the MCP server creation endpoint validates the command field against an allowlist of binary names but forwards the args array to the child process without any validation. Every binary on the allowlist accepts an inline-code execution flag (-e for node/bun, -c for python3/deno), giving any logged-in user arbitrary OS-level code execution on the Lumiverse server. The route requires only requireAuth (not requireOwner). The server binds on all interfaces (::) and the host-header rebinding check is bypassed trivially by any HTTP client that sends Host: localhost:<port> directly, making this exploitable from any machine with network access to the server port. This vulnerability is fixed in 0.9.7.
📍 영향받는 시스템
Lumiverse < 0.9.7
⚔️ 공격 벡터
로그인 후 MCP 서버 생성 엔드포인트(/api/mcp)에 코드 실행 플래그(-e for node/bun, -c for python3/deno)가 포함된 args 배열을 전송
🛡️ 대응 방법
Lumiverse를 0.9.7 이상으로 즉시 업그레이드
🔧 검증 코드
VULNERABLE이 출력되면 패치되지 않은 취약한 버전이고, SAFE가 출력되거나 명령어가 작동하지 않으면 안전합니다.
lumiverse --version 2>/dev/null | grep -oE '0\.(9\.[0-6]|[0-8]\.)' && echo 'VULNERABLE' || echo 'SAFE'