CVE-2026-23098: netrom: fix double-free in nr_route_frame()
In the Linux kernel, the following vulnerability has been resolved:
netrom: fix double-free in nr_route_frame()
In nr_route_frame(), old_skb is immediately freed without checking if
nr_neigh->ax25 pointer is NULL. Therefore, if nr_neigh->ax25 is NULL,
the caller function will free old_skb again, causing a double-free bug.
Therefore, to prevent this, we need to modify it to check whether
nr_neigh->ax25 is NULL before freeing old_skb.
Security readout for executives and security teams
Plain-English summary
A Linux kernel flaw in NET/ROM packet routing can free the same network buffer twice under a specific neighbor-state condition. The resulting memory corruption could crash a system or potentially compromise data and system integrity. Risk is highest where affected NET/ROM code is reachable from an adjacent network.
Executive priority
Treat as a high-priority kernel update for systems using NET/ROM or exposed to adjacent untrusted peers. For other Linux systems, first validate whether the subsystem is enabled and whether vendor packages contain the fix. No active exploitation is established by the supplied evidence.
Technical view
In nr_route_frame(), old_skb is freed before checking whether nr_neigh->ax25 is NULL. When it is NULL, the caller can free old_skb again, causing a double-free. The cited kernel changes prevent this by checking the pointer before freeing the buffer.
Likely exposure
Exposure is most likely on Linux systems using affected kernel code with NET/ROM networking available to adjacent peers. The bundle lists multiple affected versions but does not provide clear distribution package mappings. Confirm status against the running kernel build and its vendor backports.
Exploitation context
The CVSS 3.1 score is 8.8 with adjacent-network access, low complexity, no privileges, and no user interaction. The bundle marks this CVE as absent from KEV and provides no evidence of active exploitation or a public working exploit.
Researcher notes
The vulnerable condition requires nr_neigh->ax25 to be NULL along the nr_route_frame() path, allowing caller-side reuse of the free operation. No CWE, proof of concept, exploitability demonstration, or distribution-specific fixed versions are supplied. The seven references appear to represent stable-branch fixes.
Mitigation direction
Update to a vendor-supported kernel containing the applicable cited stable fix.
Check distribution security guidance for backported fixes and corrected package versions.
Restrict adjacent access to NET/ROM networking where operationally feasible.
Prioritize systems that actively use or expose NET/ROM functionality.
Validation and detection
Inventory running kernel versions and distribution package revisions.
Determine whether NET/ROM networking is enabled or operationally required.
Verify the applicable stable commit or vendor backport is present.
Confirm updated systems booted into the corrected kernel.
Review kernel telemetry for crashes or memory-corruption indicators.
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-2026-23098 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.
1CVSS vectors
3Timeline events
0ADP providers
8Source links
CVSS vector scores
1 official score
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.