🔍 CVE-2026-74477

0.0
CVSS Score
UNKNOWN
2026-08-15
2026-08-17 06:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 uprobes 기능에서 hprobe_expire() 함수 호출 시 NULL 포인터 역참조가 발생하는 취약점입니다. 프로세스를 복제(fork)하는 과정에서 대기 중인 uretprobe가 있을 경우 커널 패닉(Oops)이 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터의 핵심 운영체제인 리눅스에서 특정 프로그램을 실행하거나 복제할 때, 시스템이 갑자기 멈추거나 오류를 일으킬 수 있는 결함입니다. 프로그램의 동작을 추적하는 기능이 충돌을 일으켜 시스템 전체에 문제를 줄 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: uprobes: Fix NULL pointer dereference in hprobe_expire() Forking a task that has a pending uretprobe can oops the kernel with a NULL pointer dereference in the clone() path: BUG: kernel NULL pointer dereference, address: 0000000000000018 Oops: 0002 [#1] SMP NOPTI RIP: 0010:hprobe_expire CR2: 0000000000000018 Call Trace: uprobe_copy_process copy_process kernel_clone __x64_sys_clone do_syscall_64 entry_SYSCALL_64_after_hwframe This was found on real hosts on Meta fleet. I've got the impression that this is what is happening: CPU 1 CPU 2 (traced task) ----- ------------------- hit uprobe, prepare_uretprobe(): hprobe LEASED, refcount >= 1 uprobe_unregister() put_uprobe(): refcount -> 0 fork() -> dup_utask() hprobe_expire(hprobe, true) try_get_uprobe() -> NULL get_uprobe(NULL) <-- Oops Only take the extra reference when the uprobe is non-NULL; a NULL means it is gone and is the correct value to return.

📍 영향받는 시스템

uprobes 기능을 사용하는 Linux 커널 (Meta fleet 등 실제 호스트 환경 포함)

⚔️ 공격 벡터

로컬 사용자가 특정 uprobe/uretprobe를 설정한 상태에서 프로세스를 복제(fork/clone)하여 커널 오류 유도

🛡️ 대응 방법

hprobe_expire() 함수 내에서 uprobe가 NULL인지 확인하는 로직을 추가한 최신 커널 패치 적용

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전인지 배포판 보안 공지를 통해 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

NVIDIA Cloud Gaming Guest Driver for Linux