CVE-2026-98214 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 06.

리눅스 커널에서 다음 취약점이 해결되었습니다.

selinux: mprotect() 시 중간 백업 파일 재검사

mprotect()는 스택된 파일 시스템의 중간 레이어에 대해 mmap()이 수행하는 SELinux 검사를 우회하는 데 사용될 수 있습니다.

mmap()은 요청이 스택을 하위 방향으로 진행됨에 따라 모든 백킹 레이어를 검사합니다. 반면 mprotect()는 vma->vm_file에서 최하위 백업 파일만 가지므로, 상위 사용자 및 최하위 마운터는 재검사하지만 그 사이의 각 계층의 마운터는 건너뜁니다. 두 개의 중첩된 overlayfs 마운트와 mounter_t -> middle_file_t:file { execute }를 거부하는 정책이 있는 경우, 직접적인 mmap(PROT_EXEC)은 다음과 같이 거부됩니다:

avc: denied { execute } for pid=71 comm="nested_exec"
path="/payload" dev="overlay" ino=9 scontext=user_u:base_r:mounter_t tcontext=user_u:object_r:middle_file_t tclass=file permissive=0

그러나 mmap(PROT_NONE)에 이어 mprotect(PROT_EXEC)을 수행하면 성공합니다.

백업 파일 보안 블롭(intermediate path, mounter SID 및 file-description SID 포함)에 각 중간 경로를 보존하고, 다른 백킹 레이어가 열릴 때 저장된 엔트리를 복사합니다. 이 배열은 중첩된 백업 파일인 경우에만 할당하며, backing_file_free 훅에서 해제하고 경로 참조를 정리합니다.

mprotect() 동안에는 mprotect() 호출 시 각 저장된 마운터에 대해 fd { use } 및 요청된 inode 권한을 재검사하고, execmod 검사에 중간 레이어를 포함시킵니다. 중첩 스택링의 경우 정책에서 직접적인 mmap()이 이미 요구하는 것과 동일한 권한을 중간 마운터에게 부여해야 할 수 있으며, 텍스트 리로케이션(text relocations)을 사용하는 바이너리에 대해 중간 라벨(execmod)에서도 execmod가 필요할 수 있습니다.

커밋 f2381b546e7e("fs: fix user path of nested backing files")를 포함한 메인라인 트리와 함께 arm64 QEMU에서 작은 BusyBox initramfs 및 목적에 맞춘 SELinux 정책으로 테스트되었습니다.

[PM: 제목 수정]

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-414116

EPSS

0.00000

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!