🇰🇷 한글 설명
Linux 커널의 procfs에서 do_task_stat() 함수가 real_parent를 읽을 때 적절한 RCU 보호 조치가 누락된 취약점입니다. 이로 인해 프로세스 정보(/proc/[pid]/stat)를 읽는 과정에서 Use-After-Free(UAF) 오류가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 작업 정보를 읽는 과정에서 보안 장치가 제대로 작동하지 않아, 이미 삭제된 메모리 영역에 접근할 수 있는 결함입니다. 이를 통해 시스템이 충돌하거나 보안이 뚫릴 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
procfs: fix missing RCU protection when reading real_parent in do_task_stat()
When reading /proc/[pid]/stat, do_task_stat() accesses task->real_parent
without proper RCU protection, which leads to:
cpu 0 cpu 1
----- -----
do_task_stat
var = task->real_parent
release_task
call_rcu(delayed_put_task_struct)
task_tgid_nr_ns(var)
rcu_read_lock <--- Too late to protect task->real_parent!
task_pid_ptr <--- UAF!
rcu_read_unlock
This patch uses task_ppid_nr_ns() instead of task_tgid_nr_ns() to add
proper RCU protection for accessing task->real_parent.
📍 영향받는 시스템
RCU 보호가 누락된 특정 버전의 Linux Kernel
⚔️ 공격 벡터
로컬 공격자가 /proc/[pid]/stat 파일을 읽는 방식으로 메모리 오류 유도
🛡️ 대응 방법
task_ppid_nr_ns()를 사용하여 RCU 보호가 적용된 최신 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인합니다.