CVE-2026-90326 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

blk-cgroup: 정책 활성화와 blkg 파괴 간 경쟁 조건(race condition) 수정

블록 장치의 IO 스케줄러를 전환할 때, blkcg_activate_policy()는 큐에 연결된 모든 blkgs(blk cgroup kg)에 대해 blkg_policy_data(pd)를 할당합니다. 그러나 blkcg_activate_policy()가 동시적인 blkcg 삭제 작업과 경쟁 조건(race condition)을 일으켜 use-after-free 및 메모리 누수 문제를 초래할 수 있습니다.

다음와 같은 경쟁 조건에서 use-after-free가 발생합니다:

T1 (blkcg_activate_policy): - blkg1(loop0->queue, blkcgA)에 대해 pd를 성공적으로 할당함 - blkg2(loop0->queue, blkcgB)에 대해서는 pd 할당을 실패함 - blkg1 자원을 해제하기 위해 enomem 롤백 경로로 진입

T2 (blkcg 삭제): - blkcgA가 동시적으로 삭제됨 - blkg_free_workfn()을 통해 blkg1이 파괴(freed)됨 - blkg1->pd도 함께 파괴됨

T1 (계속): - 롤백 경로에서 pd가 해제된 후 blkg1->pd->online에 접근함 - use-after-free 트리거 발생

또한, blkg_free_workfn()은 q->blkg_list에서 blkg를 제거하기 전에 pd를 파괴합니다. 이로 인해 blkcg_activate_policy()는 파괴 중인 blkg에 대해 새로운 pd를 할당할 수 있게 되며, 최종적으로 blkg가 파괴될 때 새로 할당된 pd에는 도달할 수 없게 되어 메모리 누수가 발생합니다.

blkcg_mutex 범위를 확장하여 blkcg_activate_policy()의 롤백과 blkg 파괴 작업을 직렬화함으로써 이러한 경쟁 조건들을 수정합니다. 이를 통해 pd의 수명 주기가 blkg 목록의 가시성과 동기화되도록 보장됩니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!