🇰🇷 한글 설명
Linux 커널의 debugfs 구성 요소에서 파일 삭제 시 대기 및 취소 처리 로직 오류로 인해 데드락(Deadlock)이 발생할 수 있는 취약점입니다. 참조 카운트가 0이 아닐 경우 취소 프로세스를 트리거해야 하지만, 기존 로직에서는 이 루프에 진입할 수 없는 구조적 결함이 있었습니다.
💡 쉬운 설명
컴퓨터의 핵심 운영체제인 리눅스에서 특정 파일을 지우려고 할 때, 시스템이 다른 작업과 엉켜서 멈춰버리는 현상이 발생할 수 있습니다. 이로 인해 시스템이 응답하지 않는 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
debugfs: fix wait/cancellation handling during remove
Ben Greear further reports deadlocks during concurrent debugfs
remove while files are being accessed, even though the code in
question now uses debugfs cancellations. Turns out that despite
all the review on the locking, we missed completely that the
logic is wrong: if the refcount hits zero we can finish (and
need not wait for the completion), but if it doesn't we have
to trigger all the cancellations. As written, we can _never_
get into the loop triggering the cancellations. Fix this, and
explain it better while at it.
📍 영향받는 시스템
Linux Kernel (debugfs 관련 기능이 활성화된 버전)
⚔️ 공격 벡터
동시성 제어 오류를 이용한 로컬 시스템의 데드락 유도 (Local Denial of Service)
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인하십시오.