VU#414811: 테라리움에 임의 코드 실행을 허용하는 취약점이 존재합니다.
테라리움은 샌드박스 환경에서 안전한 코드 실행을 위해 설계된 플랫폼입니다. 테라리움 내에서 호스트 Node.js 프로세스에 대한 루트 권한으로 임의의 코드를 실행할 수 있는 치명적인 취약점이 발견되었습니다. 이 익스플로잇은 Pyodide WebAssembly 환경 내의 문제에서 비롯됩니다.이 취약점은 jsglobals 객체가 구성되는 방식, 특히 모의 문서 객체에서 발생합니다. 표준 JavaScript 객체 리터럴에서 생성된 이 객체는 Object.prototype을 상속합니다. 이 상속을 통해 샌드박스화된 코드는 프로토타입 체인을 함수 생성자까지 올라갈 수 있습니다. 거기서 공격자는 globalThis를 반환하는 함수를 생성하여 require()와 같은 필수 Node.js 내부 기능에 접근할 수 있습니다. 결과적으로 공격자는 샌드박스를 탈출하여 컨테이너 내에서 루트로 모든 명령을 실행할 수 있습니다.CVE-2026-5752로 식별된 이 샌드박스 탈출 취약점은 테라리움에 의존하는 애플리케이션에 상당한 위험을 초래합니다. 공격자는 루트로 명령을 실행하고, 민감한 파일에 접근 및 수정하며, 내부 네트워크 서비스를 손상시키고, 잠재적으로 컨테이너를 탈출하여 추가적인 권한 상승을 할 수 있습니다. 안타깝게도 현재 벤더 패치는 사용할 수 없습니다.이 위험을 완화하기 위해 가능한 경우 샌드박스로의 코드 제출을 비활성화하는 것이 좋습니다. 네트워크 분할 및 웹 애플리케이션 방화벽(WAF) 사용은 공격 표면을 제한하고 악의적인 트래픽을 탐지하는 데 중요합니다. 컨테이너 활동에 대한 비정상적인 동작을 지속적으로 모니터링하는 것이 좋습니다. 또한 엄격한 접근 제어 및 보안 컨테이너 오케스트레이션 도구 사용이 필수적입니다. 모든 종속성을 최신 상태로 유지하고 패치하는 것은 기본적인 보안 관행입니다. 이 취약점은 Jeremy Brown이 AI 지원 연구를 통해 발견했습니다.