🇰🇷 한글 설명
Linux 커널의 secretmem 기능에서 S_PRIVATE 플래그가 제대로 초기화되지 않아 LSM/SELinux 보안 검사를 우회할 수 있는 취약점이 발견되었습니다. 이를 해결하기 위해 anon_inode_make_secure_inode() 함수를 도입하여 익명 아이노드가 적절한 보안 컨텍스트를 갖도록 수정되었습니다.
💡 쉬운 설명
보안 시스템이 특정 파일에 접근하는 것을 막아야 하는데, 설정 오류로 인해 이 방어막을 통과할 수 있는 구멍이 생겼던 문제입니다. 커널 업데이트를 통해 파일 생성 시 보안 규칙이 강제로 적용되도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass
Export anon_inode_make_secure_inode() to allow KVM guest_memfd to create
anonymous inodes with proper security context. This replaces the current
pattern of calling alloc_anon_inode() followed by
inode_init_security_anon() for creating security context manually.
This change also fixes a security regression in secretmem where the
S_PRIVATE flag was not cleared after alloc_anon_inode(), causing
LSM/SELinux checks to be bypassed for secretmem file descriptors.
As guest_memfd currently resides in the KVM module, we need to export this
symbol for use outside the core kernel. In the future, guest_memfd might be
moved to core-mm, at which point the symbols no longer would have to be
exported. When/if that happens is still unclear.
📍 영향받는 시스템
Linux Kernel (secretmem 및 KVM guest_memfd 관련 모듈 사용 시스템)
⚔️ 공격 벡터
보안 정책(LSM/SELinux)을 우회하여 secretmem 파일 디스크립터에 비정상적으로 접근
🛡️ 대응 방법
보안 패치가 적용된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인