🔍 CVE-2026-53085

7.8
CVSS Score
HIGH
2026-06-24
2026-10-19 20:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 BPF open-coded task_vma 반복자에서 mm_struct의 생명주기 관리 오류로 인해 Use-After-Free 취약점이 발생합니다. 작업(task)이 종료될 때 mm 참조를 적절히 획득하지 않아 메모리가 해제된 후 접근을 시도할 수 있는 문제입니다.

💡 쉬운 설명

컴퓨터의 메모리를 관리하는 과정에서, 이미 사용이 끝나서 사라진 메모리 공간을 프로그램이 다시 사용하려고 시도할 때 발생하는 오류입니다. 이로 인해 시스템이 멈추거나 보안 공격에 노출될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bpf: fix mm lifecycle in open-coded task_vma iterator The open-coded task_vma iterator reads task->mm locklessly and acquires mmap_read_trylock() but never calls mmget(). If the task exits concurrently, the mm_struct can be freed as it is not SLAB_TYPESAFE_BY_RCU, resulting in a use-after-free. Safely read task->mm with a trylock on alloc_lock and acquire an mm reference. Drop the reference via bpf_iter_mmput_async() in _destroy() and error paths. bpf_iter_mmput_async() is a local wrapper around mmput_async() with a fallback to mmput() on !CONFIG_MMU. Reject irqs-disabled contexts (including NMI) up front. Operations used by _next() and _destroy() (mmap_read_unlock, bpf_iter_mmput_async) take spinlocks with IRQs disabled (pool->lock, pi_lock). Running from NMI or from a tracepoint that fires with those locks held could deadlock. A trylock on alloc_lock is used instead of the blocking task_lock() (get_task_mm) to avoid a deadlock when a softirq BPF program iterates a task that already holds its alloc_lock on the same CPU.

📍 영향받는 시스템

Linux Kernel (BPF 기능이 활성화된 버전)

⚔️ 공격 벡터

로컬 권한을 가진 공격자가 BPF 프로그램을 통해 특정 작업의 메모리 구조를 조작하여 Use-After-Free 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인

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