Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2024-35974
HistoryMay 20, 2024 - 9:42 a.m.

CVE-2024-35974 block: fix q->blkg_list corruption during disk rebind

2024-05-2009:42:01
Linux
github.com
2
linux kernel
q->blkg_list
disk rebind
vulnerability
list corruption
blkcg_init_disk
blk_alloc_queue

AI Score

7

Confidence

High

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

In the Linux kernel, the following vulnerability has been resolved:

block: fix q->blkg_list corruption during disk rebind

Multiple gendisk instances can allocated/added for single request queue
in case of disk rebind. blkg may still stay in q->blkg_list when calling
blkcg_init_disk() for rebind, then q->blkg_list becomes corrupted.

Fix the list corruption issue by:

  • add blkg_init_queue() to initialize q->blkg_list & q->blkcg_mutex only
  • move calling blkg_init_queue() into blk_alloc_queue()

The list corruption should be started since commit f1c006f1c685 (“blk-cgroup:
synchronize pd_free_fn() from blkg_free_workfn() and blkcg_deactivate_policy()”)
which delays removing blkg from q->blkg_list into blkg_free_workfn().

AI Score

7

Confidence

High

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial