🇰🇷 한글 설명
리눅스 커널의 NFC HCI SHDLC 모듈에서 타이머와 작업 큐가 해제되기 전에 정상적으로 중지되지 않아 Use-After-Free(UAF) 및 종료 시 경쟁 조건이 발생할 수 있습니다. 이는 컨텍스트 해제 중 활성 타이머 콜백이 상태 기계 작업을 예약하고 접근하면서 발생하는 동기화 문제입니다.
💡 쉬운 설명
시스템이 종료되거나 장치를 제거할 때, 백그라운드에서 돌아가는 작업들이 아직 실행 중임에도 불구하고 관련 메모리가 먼저 삭제되어 시스템이 불안정해질 수 있습니다. 이는 메모리 접근 오류를 유발하여 시스템 충돌이나 보안 취약점으로 이어질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
nfc: hci: shdlc: Stop timers and work before freeing context
llc_shdlc_deinit() purges SHDLC skb queues and frees the llc_shdlc
structure while its timers and state machine work may still be active.
Timer callbacks can schedule sm_work, and sm_work accesses SHDLC state
and the skb queues. If teardown happens in parallel with a queued/running
work item, it can lead to UAF and other shutdown races.
Stop all SHDLC timers and cancel sm_work synchronously before purging the
queues and freeing the context.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
📍 영향받는 시스템
Linux kernel (NFC HCI SHDLC subsystem)
⚔️ 공격 벡터
로컬 또는 물리적 접근을 통한 NFC 장치 제거 또는 커널 모듈 언로딩 시 타이밍 공격
🛡️ 대응 방법
리눅스 커널을 최신 안정 버전으로 업데이트하여 SHDLC 초기화 로직의 타이머 및 작업 취소 순서를 수정된 패치 적용
🔧 검증 코드
출력된 커널 버전이 취약한 버전인지 확인하고, 제조사 또는 배포판의 보안 업데이트가 적용되었는지 확인해야 합니다.