🔍 CVE-2026-45966

5.5
CVSS Score
MEDIUM
2026-05-27
2026-06-16 02:44
✅ 완료

🇰🇷 한글 설명

Linux 커널의 AppArmor 모듈에서 SCM_RIGHTS를 통해 파일 디스크립터를 받을 때 NULL 포인터 역참조가 발생하는 취약점입니다. 소켓 설정 또는 해제 과정에서 소켓 포인터가 NULL인 상태로 __unix_needs_revalidation() 함수가 호출되어 커널 크래시를 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터의 보안 관리 프로그램이 데이터를 처리하는 과정에서 '비어 있는 주소'를 참조하려고 시도하여 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 특정 방식으로 파일을 주고받을 때 보안 검사 과정에서 오류가 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: apparmor: fix NULL pointer dereference in __unix_needs_revalidation When receiving file descriptors via SCM_RIGHTS, both the socket pointer and the socket's sk pointer can be NULL during socket setup or teardown, causing NULL pointer dereferences in __unix_needs_revalidation(). This is a regression in AppArmor 5.0.0 (kernel 6.17+) where the new __unix_needs_revalidation() function was added without proper NULL checks. The crash manifests as: BUG: kernel NULL pointer dereference, address: 0x0000000000000018 RIP: aa_file_perm+0xb7/0x3b0 (or +0xbe/0x3b0, +0xc0/0x3e0) Call Trace: apparmor_file_receive+0x42/0x80 security_file_receive+0x2e/0x50 receive_fd+0x1d/0xf0 scm_detach_fds+0xad/0x1c0 The function dereferences sock->sk->sk_family without checking if either sock or sock->sk is NULL first. Add NULL checks for both sock and sock->sk before accessing sk_family.

📍 영향받는 시스템

Linux Kernel 6.17 이상 (AppArmor 5.0.0 포함 버전)

⚔️ 공격 벡터

SCM_RIGHTS를 이용한 파일 디스크립터 전송 시 소켓의 NULL 상태를 유도하여 커널 패닉 유발

🛡️ 대응 방법

커널 업데이트를 통해 __unix_needs_revalidation() 함수 내에 NULL 체크 로직이 포함된 최신 패치를 적용하십시오.

🔧 검증 코드

출력된 커널 버전이 6.17 이상인지 확인하여 취약한 버전 범위에 해당하는지 판단합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel