CVE-2026-63955
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
mm/vmalloc: do not trigger BUG() on BH disabled context
__get_vm_area_node() currently triggers a BUG() if in_interrupt() returns true. However, in_interrupt() also reports true when BH are disabled.
The bridge code can call rhashtable_lookup_insert_fast() with bottom halves disabled:
__vlan_add() -> br_fdb_add_local() spin_lock_bh(&br->hash_lock); <– Disable BH -> fdb_add_local() -> fdb_create() -> rhashtable_lookup_insert_fast() -> kvmalloc() -> vmalloc() -> __get_vm_area_node() -> BUG_ON(in_interrupt()) spin_unlock_bh(&br->hash_lock)
this triggers the BUG() despite the caller not being in NMI or hard IRQ context.
Replace the in_interrupt() check with in_nmi() || in_hardirq().
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | c6307674ed82c0c57d6e1e3408e84ac449ab8e94 < ad7eff07b625f53c3fb513b30d7a8c5a79fbc7ce | affected |
| Linux | Linux | c6307674ed82c0c57d6e1e3408e84ac449ab8e94 < 04aa71da5f35aacdc9ae9cb5150947daa624f641 | affected |
| Linux | Linux | 6.19 | affected |
| Linux | Linux | 0 < 6.19 | unaffected |
| Linux | Linux | 7.0.12 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/ad7eff07b625f53c3fb513b30d7a8c5a79fbc7ce
- https://git.kernel.org/stable/c/04aa71da5f35aacdc9ae9cb5150947daa624f641
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.