가상화 기술을 활용해 강력한 보안을 제공하는 운영체제 큐브스 OS(Qubes OS)에서 심각한 보안 취약점(QSB-118)이 보고되었습니다. 이 취약점은 사용자가 Dom0(메인 관리 도메인)에서 악성 큐브(가상 머신)로 파일을 복사할 때 발생하는 오류 보고 메커니즘을 악용합니다. 공격자는 이를 통해 Dom0에 임의 코드를 실행시켜 큐브스 OS 전체를 장악할 수 있습니다.
문제는 `qvm-copy-to-vm` 도구를 사용하여 Dom0에서 큐브로 파일을 복사할 때 발생합니다. 파일 전송 후 대상 큐브는 전송 확인과 함께 오류 코드 및 마지막으로 수신된 파일 이름을 Dom0으로 다시 보냅니다. 이때 Dom0의 오류 처리 함수는 `sanitize_remote_filename()`을 통해 파일 이름을 정리하지만, 이 함수는 비 ASCII 문자와 큰따옴표만 제거할 뿐 셸(shell) 메타 문자는 그대로 남겨둡니다. 이후 `display_error()` 함수가 `system()` 호출을 통해 오류 대화 상자를 실행하는데, 이때 공격자가 조작한 파일 이름이 셸 명령어로 해석되어 Dom0에서 실행되는 것입니다. 이 취약점은 큐브스 OS의 모든 버전에 영향을 미칩니다.
이번 취약점은 큐브스 OS의 핵심 보안 원칙인 Dom0의 격리(isolation)를 무너뜨릴 수 있다는 점에서 매우 심각합니다. 큐브스 OS는 Dom0을 최소한의 기능만 수행하도록 설계하고 다른 큐브들과 엄격하게 분리하여 보안을 강화하는데, 이 취약점은 그 핵심 방어선을 우회할 수 있게 합니다. 사용자들은 Qubes Update 도구를 통해 `qubes-core-dom0-linux` 패키지를 버전 4.3.22 이상으로 즉시 업데이트하여 이 취약점으로부터 시스템을 보호해야 합니다.