🔍 CVE-2026-89600

7.8
CVSS Score
HIGH
2026-09-11
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 fanotify 기능에서 파일 범위 정보(file range info)를 처리할 때 Use-After-Free 취약점이 발견되었습니다. 트리거링 작업의 스택에 생성된 정보를 참조하는 과정에서, 신호(signal)로 인해 스택 프레임이 해제된 후에도 이벤트 리더가 해당 메모리에 접근하여 잘못된 값을 읽어오는 문제입니다.

💡 쉬운 설명

컴퓨터가 작업 중인 임시 메모리 공간이 사라졌는데도, 다른 프로그램이 그 공간을 계속 사용하려고 시도하면서 발생하는 오류입니다. 이로 인해 시스템이 불안정해지거나 잘못된 데이터가 노출될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: fanotify: fix use-after-free of file range info fsnotify_pre_content() builds its file_range on the triggering task's stack. fanotify_alloc_perm_event() saves a pointer to range.pos in the heap-allocated permission event so copy_range_info_to_user() can report the offset later. The event reader can set the event state to FAN_EVENT_REPORTED and then sleep while preparing the file descriptor. If a signal interrupts the triggering task at that point, fanotify_get_response() changes the state to FAN_EVENT_CANCELED and returns. This unwinds the file_range stack frame while the reader still owns the event. The reader then dereferences pevent->ppos and copies the stale stack value to userspace. KASAN reported: BUG: KASAN: use-after-free in fanotify_read+0x293e/0x2970 Read of size 8 at addr ffff88811434fc50 by task fanotify_inotif/95 Call Trace: fanotify_read+0x293e/0x2970 vfs_read+0x177/0xa20 ksys_read+0xf7/0x1c0 do_syscall_64+0xf9/0x540 entry_SYSCALL_64_after_hwframe+0x77/0x7f Store the range position directly in the permission event and use FANOTIFY_NO_RANGE when range information is unavailable. The event remains alive until the reader finishes, so the reported offset no longer depends on the triggering task's stack.

📍 영향받는 시스템

Linux Kernel (fanotify 기능이 활성화된 모든 버전)

⚔️ 공격 벡터

특정 신호를 사용하여 트리거링 작업의 스택을 해제시킨 후, fanotify 이벤트를 읽어 메모리 오류를 유도하는 방식

🛡️ 대응 방법

파일 범위 정보를 스택이 아닌 힙(heap)에 직접 저장하도록 커널을 업데이트하거나 최신 보안 패치를 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 최신 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel