Skip to main content
← All vulnerabilities
CVE-2024-48881

bcache: revert replacing IS_ERR_OR_NULL with IS_ERR again

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.4.287, 5.10.231, 5.15.174, 6.1.120, 4.20, and 3 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

In the Linux kernel, the following vulnerability has been resolved: bcache: revert replacing IS_ERR_OR_NULL with IS_ERR again Commit 028ddcac477b ("bcache: Remove unnecessary NULL point check in node allocations") leads a NULL pointer deference in cache_set_flush(). 1721 if (!IS_ERR_OR_NULL(c->root)) 1722 list_add(&c->root->list, &c->btree_cache); >From the above code in cache_set_flush(), if previous registration code fails before allocating c->root, it is possible c->root is NULL as what it is initialized. __bch_btree_node_alloc() never returns NULL but c->root is possible to be NULL at above line 1721. This patch replaces IS_ERR() by IS_ERR_OR_NULL() to fix this.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From 0729029e647234fa1a94376b6edffec5c2cd75f6 · fixed in 4379c5828492a4c2a651c8f826a01453bd2b80b0; From db9439cef0b5efccf8021fe89f4953e0f901e85b · fixed in 336e30f32ae7c043fde0f6fa21586ff30bea9fe2; From 991e9c186a8ac6ab272a86e0ddc6f9733c38b867 · fixed in fb5fee35bdd18316a84b5f30881a24e1415e1464; From 68118c339c6e1e16ae017bef160dbe28a27ae9c8 · fixed in 5202391970ffbf81975251b3526b890ba027b715; From 028ddcac477b691dd9205c92f991cc15259d033e · fixed in cc05aa2c0117e20fa25a3c0d915f98b8f2e78667; From 028ddcac477b691dd9205c92f991cc15259d033e · fixed in 5e0e913624bcd24f3de414475018d3023f060ee1; From 028ddcac477b691dd9205c92f991cc15259d033e · fixed in b2e382ae12a63560fca35050498e19e760adf8c0; From 5.4.251 · fixed in 5.4.287; From 5.10.188 · fixed in 5.10.231; From 5.15.121 · fixed in 5.15.174; From 6.1.39 · fixed in 6.1.120; From 4.19.291 · fixed in 4.20; From 6.4.4 · fixed in 6.5

  • Linux Linux

    6.5

  • KernelLinux

    fixed in 5.4.287; From 5.5.0 · fixed in 5.10.231; From 5.11.0 · fixed in 5.15.174; From 5.16.0 · fixed in 6.1.120; From 6.2.0 · fixed in 6.6.66; From 6.5.0 · fixed in 6.12.5

References 7

git.kernel.org