🇰🇷 한글 설명
리눅스 커널의 padata 모듈 내 padata_reorder 함수에서 경합 조건으로 인한 Use-After-Free(UAF) 취약점이 발견되었습니다. 이 문제는 참조 카운트 관리 오류로 인해 메모리가 해제된 후에도 접근이 가능해지는 결함을 포함하고 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스에서 데이터 처리 순서를 정하는 과정 중 메모리 관리 오류가 발생합니다. 이 오류를 이용하면 이미 사용이 끝난 메모리 영역에 잘못 접근하여 시스템을 불안정하게 만들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
padata: Fix pd UAF once and for all
There is a race condition/UAF in padata_reorder that goes back
to the initial commit. A reference count is taken at the start
of the process in padata_do_parallel, and released at the end in
padata_serial_worker.
This reference count is (and only is) required for padata_replace
to function correctly. If padata_replace is never called then
there is no issue.
In the function padata_reorder which serves as the core of padata,
as soon as padata is added to queue->serial.list, and the associated
spin lock released, that padata may be processed and the reference
count on pd would go away.
Fix this by getting the next padata before the squeue->serial lock
is released.
In order to make this possible, simplify padata_reorder by only
calling it once the next padata arrives.
📍 영향받는 시스템
padata 모듈을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
커널 내 경합 조건을 유발하여 메모리 해제 후 참조(Use-After-Free)를 일으키는 로컬 공격
🛡️ 대응 방법
패치가 적용된 최신 버전의 리눅스 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 최신 패치 버전인지 확인합니다.