🇰🇷 한글 설명
Linux 커널의 SELinux에서 중첩된 백킹 파일(overlayfs over overlayfs 등)을 사용할 때 사용자 SID를 올바르게 보존하지 못하는 취약점이 발견되었습니다. 이로 인해 mprotect() 호출 시 잘못된 SID를 사용하여 권한이 없는 사용자의 접근을 거부하거나 잘못된 대상 SID를 체크하는 문제가 발생할 수 있습니다.
💡 쉬운 설명
파일 시스템을 여러 겹으로 겹쳐서 사용할 때, 보안 시스템이 실제 사용자가 누구인지 혼동하여 정상적인 접근을 차단하는 오류입니다. 이로 인해 특정 프로그램이 필요한 권한을 얻지 못해 실행되지 않을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
selinux: preserve user SID across nested backing files
SELinux saves the user file SID in a backing-file security blob so it
remains available after mmap() replaces vma->vm_file with a backing file.
For nested backing files (overlayfs over overlayfs, or FUSE passthrough
backed by overlayfs), user_file may itself be a backing file. Its
fsec->sid is the SID of the mounter that opened it, rather than the user
that opened the top-level file. mprotect() then checks fd { use } against
the mounter SID. This can incorrectly deny access without a domain
transition, or check the wrong target SID after one.
Copy the saved user SID when user_file is a backing file. Keep using the
regular file SID for the first backing layer.
With two nested overlayfs mounts and SELinux enforcing,
mprotect(PROT_READ) returns EACCES with an fd { use } denial against the
mounter SID. With this change, mprotect() succeeds.
Tested on arm64 QEMU with a small BusyBox initramfs and a purpose-built
SELinux policy. The original test was also repeated with Fedora Cloud
Base 44 userspace and gave the same result.
📍 영향받는 시스템
Linux kernel (overlayfs 또는 FUSE passthrough를 중첩하여 사용하는 환경)
⚔️ 공격 벡터
중첩된 파일 시스템 구조를 이용한 권한 검사 우회 또는 서비스 거부(Denial of Service)
🛡️ 대응 방법
해당 취약점이 수정된 최신 버전의 Linux 커널로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 보안 업데이트 버전인지 배포판 보안 공지를 통해 확인하십시오.
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux