CVE-2024-36916: blk-iocost: avoid out of bounds shift
In the Linux kernel, the following vulnerability has been resolved:
blk-iocost: avoid out of bounds shift
UBSAN catches undefined behavior in blk-iocost, where sometimes
iocg->delay is shifted right by a number that is too large,
resulting in undefined behavior on some architectures.
[ 186.556576] ------------[ cut here ]------------
UBSAN: shift-out-of-bounds in block/blk-iocost.c:1366:23
shift exponent 64 is too large for 64-bit type 'u64' (aka 'unsigned long long')
CPU: 16 PID: 0 Comm: swapper/16 Tainted: G S E N 6.9.0-0_fbk700_debug_rc2_kbuilder_0_gc85af715cac0 #1
Hardware name: Quanta Twin Lakes MP/Twin Lakes Passive MP, BIOS F09_3A23 12/08/2020
Call Trace:
<IRQ>
dump_stack_lvl+0x8f/0xe0
__ubsan_handle_shift_out_of_bounds+0x22c/0x280
iocg_kick_delay+0x30b/0x310
ioc_timer_fn+0x2fb/0x1f80
__run_timer_base+0x1b6/0x250
...
Avoid that undefined behavior by simply taking the
"delay = 0" branch if the shift is too large.
I am not sure what the symptoms of an undefined value
delay will be, but I suspect it could be more than a
little annoying to debug.
Security readout for executives and security teams
Plain-English summary
CVE-2024-36916 is a Linux kernel bug in the block I/O cost controller. Under some conditions, the kernel shifts a delay value too far, causing undefined behavior. The public record rates it medium, with possible integrity and availability impact, but the sources do not show confirmed exploitation.
Executive priority
Handle through normal kernel patch governance, with higher priority for shared infrastructure, storage-heavy systems, and appliances named by vendor advisories. There is no supplied evidence of active exploitation, so this is not an emergency on that basis alone.
Technical view
The flaw is in block/blk-iocost.c, where iocg->delay can be right-shifted by an exponent too large for a 64-bit value. UBSAN reports shift-out-of-bounds in iocg_kick_delay. The kernel fix takes the delay=0 branch when the shift is too large.
Likely exposure
Exposure is most likely on systems running affected Linux kernel lines or downstream products that embed those kernels. The source bundle lists Linux versions including 5.10 through 6.9 ranges and vendor advisories from Debian, NetApp, and Siemens.
Exploitation context
The CVE is not listed as KEV, and the supplied sources do not claim active exploitation. The public evidence describes a kernel undefined-behavior condition rather than a public exploit path. Treat exploitability details as incomplete.
Researcher notes
The main uncertainty is practical impact. The upstream note says symptoms of the undefined delay value were unclear. Validation should focus on affected kernel lineage, runtime evidence of UBSAN reports, and whether downstream vendor fixes have landed.
Mitigation direction
Update affected Linux kernels to vendor-fixed versions.
Follow Debian LTS guidance where Debian kernels are in use.
Check NetApp and Siemens advisories for product-specific applicability.
Track kernel stable fixes referenced by the CVE record.
Avoid relying on unverified workarounds; use vendor guidance.
Validation and detection
Inventory running kernel versions across servers and appliances.
Compare versions against vendor advisories and kernel stable fixes.
Review kernel logs for UBSAN shift-out-of-bounds reports in blk-iocost.
Check whether affected systems use blk-iocost or related I/O control features.
Confirm downstream vendor firmware or OS images include the fix.
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-36916 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.