🇰🇷 한글 설명
Linux 커널의 fuse-uring 구성 요소에서 queue->stopped 상태를 확인하거나 설정할 때 락(lock)을 사용하지 않아 발생하는 레이스 컨디션 취약점입니다. 이로 인해 특정 상황에서 fuse_req 구조체가 조기에 해제되어 시스템 불안정이나 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
여러 작업이 동시에 같은 데이터를 수정하려고 할 때 순서가 꼬여 발생하는 오류입니다. 이 오류로 인해 컴퓨터의 핵심 기능인 커널이 갑자기 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fuse-uring: Avoid queue->stopped races and set/read that value under lock
There are several readers of queue->stopped that check the value
under lock, but fuse_uring_commit_fetch() did not and actually
the value was not set under the lock in fuse_uring_abort_end_requests()
either. Especially in fuse_uring_commit_fetch it is important
to check under a lock, because due to races 'struct fuse_req'
might be freed with fuse_request_end, but another thread/cpu
might already do teardown work.
📍 영향받는 시스템
Linux kernel (fuse-uring 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 특정 조건에서 레이스 컨디션을 유발하여 커널 메모리 오류를 일으킴
🛡️ 대응 방법
fuse-uring 관련 패치가 적용된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인