CVE-2026-64588 in Linux
요약
\~에 의해 VulDB • 2026. 08. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
fuse-uring: ring->ready에 대한 데이터 레이싱 수정
약한 순서화(weakly-ordered) 아키텍처에서는 fiq->ops에 대한 저장 연산이 ring->ready에 대한 저장 연산보다 먼저 재배열될 수 있으며, 이로 인해 fuse_uring_ready()를 통해 ring->ready == true로 관찰하는 CPU가 낡은(stale) fiq->ops 포인터를 통해 요청을 디스패치할 수 있습니다. 선행 WRITE_ONCE(fiq->ops, ...) 연산이 ring->ready == true를 관찰하는 모든 CPU에게 가시화되도록 하기 위해, 해당 저장 연산을 smp_store_release()로 업그레이드하고 fuse_uring_ready() 내의 로드 연산을 smp_load_acquire()로 업그레이드합니다.
추가적으로, fuse_uring_do_register()는 WRITE_ONCE()을 사용하여 ring->ready를 게시하지만, 고속 경로(fast-path) 체크에서는 일반 로드(plain load)로 이를 읽습니다. 이는 KCSAN이 플래그 지정할 마크된 접근과 비마크된 접근의 차이입니다. 불필요한 순서화(ordering) 추가 없이 이를 표시하기 위해 READ_ONCE()로 감쌉니다.
또한 fuse_uring_ready() 내의 fc->ring 로드를 READ_ONCE()로 감싸, NULL 체크와 역참조(dereference) 사이에 컴파일러가 해당 값을 다시 로드하지 않도록 방지합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.