🇰🇷 한글 설명
Apptainer는 Linux용 오픈소스 컨테이너 플랫폼입니다. Apptainer 1.1.0 미만 버전 및 구버전 OS에서 apptainer-suid 1.1.8 미만이 설치된 경우 ext4 use-after-free 취약점이 존재합니다. 커널의 use-after-free 결함은 서비스 거부 공격이나 권한 상승에 악용될 수 있습니다.
💡 쉬운 설명
컨테이너 실행 도구 Apptainer에 파일시스템 처리 결함이 있어, 악의적인 사용자가 시스템을 멈추게 하거나 관리자 권한을 얻을 수 있습니다. 1.1.8 이상 버전으로 업데이트하면 해결됩니다.
🇺🇸 원문 (English)
Apptainer is an open source container platform for Linux. There is an ext4 use-after-free flaw that is exploitable through versions of Apptainer < 1.1.0 and installations that include apptainer-suid < 1.1.8 on older operating systems where that CVE has not been patched. That includes Red Hat Enterprise Linux 7, Debian 10 buster (unless the linux-5.10 package is installed), Ubuntu 18.04 bionic and Ubuntu 20.04 focal. Use-after-free flaws in the kernel can be used to attack the kernel for denial of service and potentially for privilege escalation.
Apptainer 1.1.8 includes a patch that by default disables mounting of extfs filesystem types in setuid-root mode, while continuing to allow mounting of extfs filesystems in non-setuid "rootless" mode using fuse2fs.
Some workarounds are possible. Either do not install apptainer-suid (for versions 1.1.0 through 1.1.7) or set `allow setuid = no` in apptainer.conf. This requires having unprivileged user namespaces enabled and except for apptainer 1.1.x versions will disallow mounting of sif files, extfs files, and squashfs files in addition to other, less significant impacts. (Encrypted sif files are also not supported unprivileged in apptainer 1.1.x.). Alternatively, use the `limit containers` options in apptainer.conf/singularity.conf to limit sif files to trusted users, groups, and/or paths, and set `allow container extfs = no` to disallow mounting of extfs overlay files. The latter option by itself does not disallow mounting of extfs overlay partitions inside SIF files, so that's why the former options are also needed.
📍 영향받는 시스템
Apptainer 1.1.0 미만 및 apptainer-suid 1.1.8 미만 설치 환경 (RHEL 7, Debian 10, Ubuntu 18.04/20.04 등)
⚔️ 공격 벡터
로컬 사용자가 setuid 모드에서 악성 ext4 관련 파일시스템 이미지를 마운트하여 커널의 use-after-free 결함을 유발
🛡️ 대응 방법
Apptainer 1.1.8 이상으로 업데이트하거나 apptainer-suid를 제거하거나 apptainer.conf에서 'allow setuid = no' 설정
🔧 검증 코드
출력된 Apptainer 버전이 1.1.8 미만이거나 apptainer-suid가 1.1.8 미만이면 취약하며, 1.1.8 이상이면 패치가 적용된 것입니다.
apptainer --version 2>/dev/null; dpkg -l apptainer-suid 2>/dev/null | grep apptainer-suid; rpm -q apptainer-suid 2>/dev/null