🔍 CVE-2026-99218

7.0
CVSS Score
HIGH
2026-11-02
2026-11-03 20:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 coredump 모듈에서 coredump_finish()가 대기 중인 스레드를 해제할 때 RCU 보호 없이 wake_up_process()를 호출하는 문제가 해결되었습니다. 선점이나 스퓨리어스 웨이크업이 발생하면 스레드가 이미 해제된 메모리에서 pi_lock을 획득하려 할 수 있어, 이를 막기 위해 루프 전체를 RCU 임계 구역으로 감쌌습니다.

💡 쉬운 설명

프로그램이 충돌하며 메모리 덤프를 만들 때, 잠들어 있던 작업 조각이 깨어나는 과정에서 이미 사라진 작업을 건드릴 수 있는 문제가 있었습니다. 이번 수정으로 작업이 안전하게 깨어나도록 보호 장치를 추가했습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: coredump: hold RCU while releasing parked threads coredump_finish() releases the parked threads by clearing ->task in their core_thread entry and calling wake_up_process() on each of them. It does that without holding a reference on the task and without being inside rcu. But calling wake_up_process(task) without rcu here isn't safe. A parked thread doesn't need that wakeup to leave. A spurious wakeup or a preemption after the store is enough for the task to go away. So if the coredump client is preempted between the store and wake_up_process() the thread can exit and be freed in the meantime and try_to_wake_up() takes pi_lock in freed memory. Hold rcu across the loop.

📍 영향받는 시스템

수정 이전의 Linux 커널 (coredump 기능을 사용하는 모든 배포판 및 버전, 정확한 범위는 커널 패치 이력 참조)

⚔️ 공격 벡터

로컬 사용자가 coredump 발생 시점의 스케줄링 타이밍을 조작해 해제된 메모리 접근을 유발할 가능성이 있음 (CVSS 7.0, 로컬 공격 기반으로 추정)

🛡️ 대응 방법

해당 수정이 포함된 최신 Linux 커널 버전으로 업데이트하고 재부팅합니다.

🔧 검증 코드

출력된 커널 버전을 배포판 보안 권고 또는 커널 changelog의 수정 버전과 비교하여, 해당 패치가 포함된 버전 이상이면 조치가 완료된 것입니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel