CVE-2026-64017 in Linux
요약
\~에 의해 VulDB • 2026. 07. 19.
리눅스 커널에서 다음 취약점이 해결되었습니다:
blk-mq: 사용 가능한 경우 캐시된 요청을 팝(pops)합니다.
bio를 blk-mq에 제출할 때, 대기열의 첫 번째 요소를 확인(peeking)한 후 캐시된 요청을 제거(pop)하기 전에 태스크가 차단될(sleep) 필요가 있는 경우, 플러그(plug)가 플러시되고 `blk_mq_free_plug_rqs`를 호출하여 `cached_rqs`(캐시된 요청들)를 해제(freeing)합니다. 이로 인해 use-after-free 버그가 발생합니다. 이를 해결하기 위해 가능한 모든 차단(blocking) 호출 전에 해당 요청이 사용에 적합한 경우 캐시된 요청을 먼저 팝(popping)합니다.
먼저 이 요청을 팝하면 대기열 참조(queue reference)가 유지되므로, 대기열 동결(freeze)과의 직렬화 경쟁(serialization races)을 피할 수 있으며 드라이버对该 요청의 디스패치를 안전하게 진행할 수 있습니다. 이는 잠재적으로 드라이버가 자신의 대기열을 동결하고자 할 때부터 요청의 디스패치가 중단될 때까지의 타이밍 윈도우를 증가시킬 수 있습니다. 그러나 이러한 시나리오는 빠른 경로(fast path)에서 벗어난 것이므로, 드라이버는 이미 동결 요청 동안 요청을 적절히 처리해야 합니다.
단점은 bio 플러그 병합(plug merge) 수행 시 팝된 요소를 개별적으로 해제해야 한다는 것입니다. 캐시된 요청은 나중에 반드시 해제되어야 했지만, 이 패치는 이를 플러시한 후가 아니라 플러그 리스트를 구축하는 과정과 함께 인라인으로 처리합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.