최근 Omarchy(오마키) 리눅스 배포판의 기본 Docker(도커) 설정에서 심각한 보안 취약점이 발견되어 사용자들의 주의가 요구됩니다. 이 취약점은 데스크톱 세션의 거의 모든 프로그램이 암호나 sudo(수도) 권한 확인 없이 루트(root) 권한을 획득할 수 있게 만들었으며, 이는 시스템 전체 침해로 이어질 수 있는 위험을 내포하고 있었습니다. 해당 문제는 비공개 제보를 통해 개발팀에 전달되었고, 현재는 수정된 버전이 배포되었습니다.
이번 취약점의 핵심 원인은 Omarchy가 기본 사용자를 Linux docker 그룹에 추가한 데 있습니다. Arch(아치) 리눅스 기반의 Docker 데몬은 루트 권한으로 실행되며, /var/run/docker.sock 경로를 통해 요청을 받습니다. docker 그룹의 구성원은 이 소켓과 통신할 수 있는데, Docker는 이미 해당 그룹에 속한 사용자에게 루트 수준 권한이 부여될 수 있다고 경고해 왔습니다. 이 설정으로 인해 일반 사용자뿐만 아니라 해당 사용자의 세션에서 시작된 웹 브라우저, IDE(통합 개발 환경), AI 코딩 에이전트 등 모든 자식 프로세스가 루트 접근 경로를 갖게 되었습니다. 예를 들어, 일반 사용자가 /etc/shadow와 같은 보호된 파일을 직접 읽을 수 없지만, Docker 명령을 통해 호스트의 루트 디렉터리를 컨테이너에 마운트하면 루트 권한으로 해당 파일을 읽을 수 있었습니다. 이는 사용자 동의 없이 기본적으로 적용된 '옵트아웃(opt-out)' 방식의 설정이었으며, Docker를 사용하지 않는 사용자에게도 동일한 보안 위험이 노출되었습니다.
이 문제는 4.0.1 이전 버전과 3.8.4 버전에 영향을 미쳤으며, Omarchy 개발팀은 비공개 제보를 받은 후 신속하게 대응하여 4.0.1 버전에서 기본 Docker 그룹 설정을 제거했습니다. 이번 사례는 개발자 시스템의 보안 중요성을 다시 한번 강조합니다. 개발 환경은 소프트웨어 공급망 공격의 주요 표적이 될 수 있으며, AI 코딩 에이전트와 같은 도구의 확산은 이러한 위험을 더욱 증대시킬 수 있습니다. 따라서 개발자용 배포판 제작자는 물론 모든 개발자가 보안을 최우선으로 고려해야 합니다. 루트 권한 없이 컨테이너를 실행해야 할 경우, 데몬리스(daemonless) 방식으로 작동하여 루트 접근을 요구하지 않는 Podman(파드맨)과 같은 대안을 고려해볼 수 있습니다.