Redash, Python 샌드박스 탈출로 서버 전체 권한 획득 가능
Redash의 Python 샌드박스에서 서버 전체 접근 권한 획득이 가능한 취약점이 발견됨
취약점은 `getattr` 함수에 대한 무제한 접근(Unrestricted Access)으로 인해 발생
Redash 측은 '사용자 책임(Use at your own risk)' 입장을 표명, 책임 공개(Responsible Disclosure) 부재에 대한 비판 제기
샌드박스(Sandbox) 취약점의 기술적 분석
취약점은 Redash의 Python 샌드박스에서 `getattr` 함수에 대한 무제한 접근(Unrestricted Access)을 허용한 데서 기인한다. 이는 공격자가 샌드박스 내에서 임의의 코드를 실행할 수 있게 하여, 서버 전체 권한(Full Server Access)을 획득하는 결과를 초래한다. 특히, 샌드박스 환경에서 데이터 격리 아키텍처(Data Isolation Architecture)가 제대로 구현되지 않아 발생한 문제로 볼 수 있다.
책임 공개(Responsible Disclosure) 부재에 대한 비판
커뮤니티에서는 Redash 측의 대응 방식에 대한 비판이 제기되었다. 취약점 발견 시 책임 공개(Responsible Disclosure)를 통해 패치를 제안하는 대신, '사용자 책임'이라는 입장을 고수하는 것은 오픈소스 프로젝트의 보안 관리 부실을 드러낸다는 지적이다. 이는 보안 취약점 관리 프로세스(Vulnerability Management Process)의 중요성을 강조한다.
제로 트러스트(Zero-Trust) 기반 보안의 중요성
논의에서는 샌드박스(Sandbox)의 한계를 지적하며, 제로 트러스트(Zero-Trust) 기반의 보안 모델 도입을 권고한다. Cato Networks의 사례처럼, 모든 트래픽을 검사하고 암호화된 흐름까지 감시하는 접근 방식은 샌드박스 탈출과 같은 위협을 사전에 방지할 수 있다. 이는 데이터 미저장 정책(Zero-Retention Policy)과 함께, 현대적인 보안 아키텍처의 핵심 요소로 부상하고 있다.