Answer in brief
CVE-2026-97599 records a Unknown severity vulnerability in ieee802154: hwsim: serialize pib updates to fix double-free. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=f25da51fdc381ca2863248c7060b3662632f0872 <9973b3a67a7592a780ea12b08334539a900deec1 || >=f25da51fdc381ca2863248c7060b3662632f0872 <d3b8f264ce09573aededd0a97dc41c8147797d8f || >=f25da51fdc381ca2863248c7060b3662632f0872 <db6442deecb1f13aeaf4f9d77746ea7555630fb3 || >=f25da51fdc381ca2863248c7060b3662632f0872 <979d5b8de8ed4e1f997aef12da5694b99be7b871 | 9973b3a67a7592a780ea12b08334539a900deec1, d3b8f264ce09573aededd0a97dc41c8147797d8f, db6442deecb1f13aeaf4f9d77746ea7555630fb3, 979d5b8de8ed4e1f997aef12da5694b99be7b871 |
| Linux/Linuxgeneric | 4.19 | Not reported |
Published upstream
Sep 25, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Sep 25, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Sep 25, 2026
In the Linux kernel, the following vulnerability has been resolved: ieee802154: hwsim: serialize pib updates to fix double-free hwsim_update_pib() does an unserialized read-swap-free of phy->pib: pib_old = rtnl_dereference(phy->pib); ... rcu_assign_pointer(phy->pib, pib); kfree_rcu(pib_old, rcu); It assumes the RTNL is held, but ->set_channel is not always called under it: the mac802154 scan worker changes channels via drv_set_channel() without the RTNL. Such an update can race an RTNL-held one on the same phy; both read the same pib_old and both kfree_rcu() it, double-freeing the object. With SLUB percpu sheaves batching kfree_rcu(), this surfaces as a KASAN invalid-free in rcu_free_sheaf(). struct hwsim_phy has no lock for pib. Add one and make the swap atomic with rcu_replace_pointer() under it, dropping the misleading rtnl_dereference().
Quoted source text, attributed separately from HOL analysis.