CVE-2024-26632: block: Fix iterating over an empty bio with bio_for_each_folio_all
In the Linux kernel, the following vulnerability has been resolved:
block: Fix iterating over an empty bio with bio_for_each_folio_all
If the bio contains no data, bio_first_folio() calls page_folio() on a
NULL pointer and oopses. Move the test that we've reached the end of
the bio from bio_next_folio() to bio_first_folio().
[axboe: add unlikely() to error case]
Security readout for executives and security teams
Plain-English summary
A Linux block-layer flaw can dereference a null pointer when processing an empty I/O structure, causing a kernel oops and possible service interruption. Exploitation requires local, low-privileged access according to the supplied CVSS vector. The sources do not establish data theft, data modification, or remote exploitation.
Executive priority
Treat this as an expedited kernel-maintenance issue, especially on shared Linux systems. The described mechanism primarily supports availability risk, despite the supplied 7.8 vector claiming high confidentiality, integrity, and availability impacts. Escalate urgency if vendor guidance identifies broader consequences or exploitation evidence.
Technical view
When a bio contains no data, bio_first_folio() passes a NULL pointer to page_folio(). The correction checks whether iteration has reached the bio’s end in bio_first_folio(), rather than waiting for bio_next_folio(), preventing the invalid dereference.
Likely exposure
Exposure applies to affected Linux kernel builds where a local user can reach the vulnerable block-I/O path. The flattened version data lists 5.17, 6.1.75, 6.6.14, 6.7.2, and 6.8, but does not reliably define ranges; verify vendor backports and running kernels.
Exploitation context
CISA KEV status is false, and the supplied sources provide no evidence of active or public exploitation. The CVSS vector describes local, low-complexity exploitation requiring low privileges and no user interaction, but the sources do not document practical reachability.
Researcher notes
The source describes a NULL dereference and kernel oops, but does not explain confidentiality or integrity impact claimed by the CVSS vector. Version information is flattened and includes an ambiguous “0” entry. Determine exposure using distribution advisories, package changelogs, and fix-commit ancestry rather than version strings alone.
Mitigation direction
Apply a vendor kernel update containing the applicable stable fix or backport.
Reboot affected systems into the updated kernel and retire vulnerable boot images.
If updates are unavailable, consult vendor guidance and restrict untrusted local access.
Prioritize shared or multi-user systems where low-privileged accounts are available.
Validation and detection
Inventory each system’s running kernel, including distribution release and build revision.
Confirm the installed kernel contains an applicable stable fix commit or vendor backport.
Review kernel logs for oopses referencing bio_first_folio or page_folio.
After rebooting, verify the updated kernel is active across all affected hosts.
Run vendor-supported block-I/O regression tests in a controlled environment.
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-26632 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.