🇰🇷 한글 설명
Linux 커널의 proc 파일 시스템에서 ptrace 접근 권한 확인 과정 중 레이스 컨디션(Race Condition) 취약점이 발견되었습니다. 기존에는 PID를 통해 태스크를 두 번 조회하는 과정에서 보안 검사와 실제 접근 사이에 시간차가 발생할 수 있었으나, 이를 잠금(Lock) 메커니즘을 통해 수정하였습니다.
💡 쉬운 설명
프로그램이 특정 정보에 접근할 수 있는지 검사하는 도중에, 검사를 통과하자마자 대상이 몰래 바뀌어버릴 수 있는 허점이 있었습니다. 이로 인해 권한이 없는 사용자가 시스템의 민감한 정보에 접근할 위험이 있었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
proc: protect ptrace_may_access() with exec_update_lock (FD links)
proc_pid_get_link() and proc_pid_readlink() currently look up the task from
the pid once, then do the ptrace access check on that task, then look up
the task from the pid a second time to do the actual access.
That's racy in several ways.
To fix it, pass the task to the ->proc_get_link() handler, and instead of
proc_fd_access_allowed(), introduce a new helper call_proc_get_link() that
looks up and locks the task, does the access check, and calls
->proc_get_link().
📍 영향받는 시스템
Linux Kernel (proc 파일 시스템 관련 버전)
⚔️ 공격 벡터
레이스 컨디션을 이용한 권한 상승 또는 정보 유출 (Local)
🛡️ 대응 방법
커널 패치 적용 및 최신 안정 버전 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.