CVE-2024-36908: blk-iocost: do not WARN if iocg was already offlined
In the Linux kernel, the following vulnerability has been resolved:
blk-iocost: do not WARN if iocg was already offlined
In iocg_pay_debt(), warn is triggered if 'active_list' is empty, which
is intended to confirm iocg is active when it has debt. However, warn
can be triggered during a blkcg or disk removal, if iocg_waitq_timer_fn()
is run at that time:
WARNING: CPU: 0 PID: 2344971 at block/blk-iocost.c:1402 iocg_pay_debt+0x14c/0x190
Call trace:
iocg_pay_debt+0x14c/0x190
iocg_kick_waitq+0x438/0x4c0
iocg_waitq_timer_fn+0xd8/0x130
__run_hrtimer+0x144/0x45c
__hrtimer_run_queues+0x16c/0x244
hrtimer_interrupt+0x2cc/0x7b0
The warn in this situation is meaningless. Since this iocg is being
removed, the state of the 'active_list' is irrelevant, and 'waitq_timer'
is canceled after removing 'active_list' in ioc_pd_free(), which ensures
iocg is freed after iocg_waitq_timer_fn() returns.
Therefore, add the check if iocg was already offlined to avoid warn
when removing a blkcg or disk.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue involves blk-iocost, a block I/O cost controller component. Under block cgroup or disk removal, a timer path can trigger a kernel warning after the object is already being offlined. The CVE is scored high, but the supplied description frames the fix as avoiding a meaningless warning during teardown.
Executive priority
Treat this as a high-priority kernel maintenance item, especially for shared infrastructure. There is no sourced evidence of active exploitation, but kernel bugs with local low-privilege vectors deserve timely patching through standard OS update channels.
Technical view
The flaw is in iocg_pay_debt() within block/blk-iocost.c. iocg_waitq_timer_fn() can run while a blkcg or disk is being removed, causing a WARN when active_list is empty even though the iocg is already offlined. The fix adds an offline-state check before warning.
Likely exposure
Exposure is limited to Linux systems running affected kernel versions or unpatched downstream builds. Practical exposure is more relevant on multi-user, container, or hosting systems where local users can reach kernel block I/O control paths. Distribution backports may change version-based status.
Exploitation context
The CVSS vector indicates local, low-privilege access with no user interaction. The supplied bundle does not cite active exploitation, and KEV status is false. The sources do not provide a demonstrated exploit path beyond the kernel warning condition during removal.
Researcher notes
The source text emphasizes suppressing an invalid WARN when an iocg is already offlined. The CVSS claims confidentiality and availability impact, but the provided description does not explain the concrete impact mechanism. Validate against upstream commits and downstream advisories before asserting exploitability.
Mitigation direction
Apply vendor kernel updates that include the referenced stable fixes.
Use distribution security packages rather than raw upstream version matching.
Prioritize shared Linux hosts, container platforms, and storage-heavy systems.
Check Debian LTS advisories if running affected Debian kernels.
Monitor vendor guidance for backport status and operational mitigations.
Validation and detection
Inventory Linux kernel versions and distribution package revisions.
Confirm whether the referenced stable commits are present or backported.
Review kernel logs for blk-iocost WARN traces during teardown.
Check whether blk-iocost and block cgroups are used in production.
Verify patched kernels in staging before broad rollout.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-36908 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.