snap-confine + systemd-tmpfiles = 루트 (CVE-2026-3888)
Ubuntu Desktop 24.04 이상 버전에서 발견된 로컬 권한 상승(LPE) 취약점(CVE-2026-3888)은
snap-confine과 systemd-tmpfiles의 상호작용에서 비롯되었으며, 비특권 사용자가 일정 기간(10~30일) 대기 후 루트 권한을 획득할 수 있습니다.
snap-confine은 스냅 애플리케이션 실행 환경을 구성하는 데 사용되며, systemd-tmpfiles는 주기적으로 /tmp 디렉토리 내 오래된 파일을 삭제하는 역할을 합니다.
이 과정에서 삭제된 디렉토리를 공격자가 재생성하고, snap-confine의 권한 상승 과정을 교란하여 루트 쉘을 획득하는 경쟁 조건(race condition) 공격이 가능해집니다.
Ubuntu 25.10에서는 snap-confine이 SUID-root 대신 강력한 capabilities를 부여받아 동작하지만, AppArmor와 seccomp 필터로 인해 직접적인 루트 권한 상승은 제한됩니다.
이에 공격자는 snap-store 스냅의 /var/lib 디렉토리 "mimic" 생성 과정에서 경쟁 조건을 유발해 임의 디렉토리를 바인드 마운트하고, 루트 쉘을 얻는 변형된 공격 방식을 사용합니다.
또한, Ubuntu 25.10에 기본 탑재된 Rust 기반 uutils coreutils의 rm 명령어에서 발견된 경합 상태 취약점은 루트 권한으로 임의 파일 삭제가 가능하였으나, 출시 전 표준 GNU coreutils의 rm으로 교체되어 LPE 위험이 완화되었습니다.
이 취약점들은 모두 Ubuntu 보안팀과 협력하여 사전 대응 및 패치가 이루어졌으며, 공격 성공을 위해서는 장기간 대기와 정교한 경쟁 조건 조작이 필요하다는 점에서 실용적 공격 난이도가 높습니다.