🔍 CVE-2026-46173

7.8
CVSS Score
HIGH
2026-05-28
2026-10-19 20:18
✅ 완료

🇰🇷 한글 설명

리눅스 커널에서 종료 중인 작업(TASK_DEAD)이 오류(oops)를 발생시킬 때 선점(preemption)을 방지하지 못하는 취약점입니다. 이로 인해 스케줄러가 작업 스택의 참조를 잘못 처리하여 Use-After-Free 또는 Double-Free를 유발하고 메모리 오염을 일으킬 수 있습니다.

💡 쉬운 설명

컴퓨터 프로그램이 종료되는 과정에서 오류가 났을 때, 시스템이 해당 프로그램의 메모리를 정리하는 방식에 문제가 있는 것입니다. 이로 인해 메모리가 꼬이게 되어 시스템이 멈추거나 해킹에 악용될 수 있는 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: exit: prevent preemption of oopsing TASK_DEAD task When an already-exiting task oopses, make_task_dead() currently calls do_task_dead() with preemption enabled. That is forbidden: do_task_dead() calls __schedule(), which has a comment saying "WARNING: must be called with preemption disabled!". If an oopsing task is preempted in do_task_dead(), between becoming TASK_DEAD and entering the scheduler explicitly, bad things happen: finish_task_switch() assumes that once the scheduler has switched away from a TASK_DEAD task, the task can never run again and its stack is no longer needed; but that assumption apparently doesn't hold if the dead task was preempted (the SM_PREEMPT case). This means that the scheduler ends up repeatedly dropping references on the dead task's stack, which can lead to use-after-free or double-free of the entire task stack; in other words, two tasks can end up running on the same stack, resulting in various kinds of memory corruption. (This does not just affect "recursively oopsing" tasks; it is enough to oops once during task exit, for example in a file_operations::release handler)

📍 영향받는 시스템

Linux Kernel (TASK_DEAD 상태에서 preemption이 가능한 환경)

⚔️ 공격 벡터

파일 해제 핸들러 등 작업 종료 과정에서 의도적으로 오류(oops)를 유발하여 메모리 오염 유도

🛡️ 대응 방법

해당 취약점이 수정된 최신 리눅스 커널 버전으로 업데이트

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인합니다.

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