무슨 일이 있었나
Docker/Apptainer 작업공간 런처가 빈 session_api_keys 목록으로 샌드박스 에이전트 서버를 0.0.0.0에 바인딩하여, 에이전트 서버 자체의 인증이 기본적으로 비활성화되었습니다. 수정 커밋은 포트 게시를 루프백 전용(127.0.0.1:8010:8000)으로 변경하고 세션 키를 전달하여 클라이언트와 서버가 일치하도록 합니다. NVD(CVSS 9.8) 및 수정 커밋으로 확인됨.
왜 중요한가
OpenHands는 인기 있는 자율 코딩 에이전트 플랫폼을 위한 샌드박스 에이전트 런타임입니다; 기본 활성화된 인증되지 않은 RCE는 네트워크로 접근 가능한 모든 에이전트 샌드박스가 공격자에게 루트 실행 권한과 호스트에 마운트된 작업공간 및 저장된 비밀에 대한 접근을 제공함을 의미합니다. 이는 에이전트가 실행되도록 설계된 환경이므로, 원격 셸 실행은 호스트 및 클라우드 자격 증명 손상으로 가는 직접적인 경로입니다.
공격 경로
DockerWorkspace 및 Apptainer 작업공간 런처는 빈 session_api_keys 목록으로 샌드박스 에이전트 서버를 모든 네트워크 인터페이스(0.0.0.0)에 바인딩하여 기본적으로 인증을 비활성화합니다. 게시된 컨테이너 포트에 접근할 수 있는 인증되지 않은 공격자는 HTTP/WebSocket 요청을 전송하여 샌드박스 내부에서 루트로 임의 셸 명령을 실행하고, 마운트된 작업공간에 접근하며, 평문 비밀을 읽을 수 있습니다.
영향받는 시스템
OpenHands 소프트웨어 에이전트 SDK 1.52.0 미만(0부터 <1.52.0까지의 모든 버전).
완화 방안
OpenHands 소프트웨어 에이전트 SDK 1.52.0으로 업그레이드하세요. 수정은 게시된 포트를 루프백(127.0.0.1)에 바인딩하고 세션 API 키를 전달/검증합니다.