Skip to main content

Linux Kernel CVE-2026-98369

| EUVDEUVD-2026-93354 HIGH
2026-10-06 Linux GHSA-j7rh-wqhv-hc9p
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local access to IPsec/xfrm host
  2. Delivery
    Trigger xfrm transport-mode packet reinjection
  3. Exploit
    Race concurrent netdevice unregistration
  4. Execution
    Workqueue callback dereferences freed dst/dev
  5. Impact
    Use-after-free kernel crash

Vulnerability Assessment

Exploitation Conditions

Requires the host to actually process IPsec/xfrm transport-mode traffic, since the vulnerable path is xfrm_trans_reinject() reinjecting transport-mode packets deferred through a workqueue (behavior introduced by commit 4f4920669d21). The dangerous condition arises specifically when queued skbs carry non-refcounted (noref) dst entries (e.g. from ip_route_input_noref) AND a network device is concurrently unregistered so dst_dev_put() swaps dst->dev for blackhole_netdev - the finish callback then runs in process (workqueue) context lacking the RCU read lock and refcounts. Limiting factors: exploitation is a timing-sensitive race requiring the netdevice-unregistration window to overlap with queued reinjection; it needs local low-privilege access per the CVSS PR:L rating; and it only affects kernels built with CONFIG_PREEMPT_RCU where local_bh_disable() does not establish an RCU read-side critical section. Not exploitable against hosts not using xfrm transport mode.

Impact

Signals converge on LOW real-world priority despite the 7.8 'High' CVSS. The vendor (Linux kernel CNA) vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H claims local, low-complexity, low-privilege access with full High confidentiality/integrity/availability impact, but this appears inflated relative to the actual defect: the issue was surfaced by a syzbot RCU-lockdep warning in ip6_pkt_drop() and the fix adds missing rcu_read_lock(), skb_dst_force() and dev_hold() around xfrm_trans_reinject(). The underlying danger is a use-after-free of non-refcounted dst entries and of skb->dev (replaced by blackhole_netdev on netdevice unregistration) while packets sit queued in a workqueue - a race condition, which contradicts the vendor's AC:L rating; a concurrent netdevice-unregistration window realistically makes this AC:H. EPSS is 0.18% (7th percentile) - very low exploitation probability. There is no CISA KEV listing and no public exploit identified. SSVC-style read: exploitation = none observed, automatable = no (timing-dependent kernel race requiring IPsec/xfrm transport-mode processing), technical impact = partial-to-total but hard to weaponize. Net: a legitimate correctness/UAF fix worth patching in normal cycles, not an emergency. Note the conflict explicitly: CVSS claims C:H/I:H but the demonstrated manifestation is an RCU lockdep warning / potential crash, so the H/H/H impact is unverified - treat as primarily an availability (crash) risk unless vendor confirms memory-corruption-to-privesc.

Exploit ScenarioDerived

On a host using IPsec/xfrm transport mode, a local low-privileged actor induces xfrm transport-mode packet reinjection (processed via workqueue) while a network device is being unregistered, causing a finish callback to dereference a now-freed or blackholed dst/skb->dev. The resulting use-after-free most plausibly crashes the kernel (DoS). No public proof-of-concept exists; the flaw was found by syzbot fuzzing, not a released exploit.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

A use-after-free and RCU-safety defect in the Linux kernel's IPsec/xfrm transport-mode packet reinjection path can crash or corrupt the kernel, and is reachable by a local low-privilege attacker (CVSS PR:L) who can also trigger network device unregistration. The flaw was introduced when xfrm_trans_reinject() was converted from a tasklet to a workqueue (commit 4f4920669d21), so finish callbacks such as ip6_rcv_finish() now run in process context without an RCU read-side critical section, and queued skbs may hold non-refcounted dst entries whose skb->dev is not kept alive while deferred. Our independent assessment scores this CVSS 3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H (availability-only, high attack complexity), and there is no public exploit identified at time of analysis; EPSS is low at 0.18% (7th percentile) and no CISA KEV listing exists.

RemediationAI

Vendor-released patch: upgrade to a fixed kernel - Linux 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.54, 7.2.8, or 7.3-rc4, or apply the corresponding stable commits (e.g. https://git.kernel.org/stable/c/41e47f1664be86c91326f0afe0504a1162d00907 and its siblings 6601d91a8576, 0cda8273265d, 68a317b4aec8, 6eb3b071be8e, 664fc0941df7, d2f5082f9e84). Because the fix touches xfrm reinjection, rebooting into the patched image is required to clear any packet already deferred on the workqueue. If immediate upgrading is not possible, compensating controls are limited and must be weighed against function loss: stop using xfrm transport mode on the host (switch IPSec to tunnel mode or terminate it elsewhere), which removes the vulnerable reinjection path entirely but changes network architecture and may break clients expecting transport-mode protection; restrict local interactive access and privilege escalation so that PR:L-level users cannot race netdevice unregistration (e.g. keep CAP_NET_ADMIN and device teardown paths out of untrusted hands), which reduces reachability but does not eliminate the race; and avoid removing or renaming netdevices while IPsec transport-mode traffic is in flight, since device unregistration is the trigger for the blackhole_netdev dst swap - a purely operational mitigation with no code enforcement. There is no reliable runtime toggle for this code path, so patching remains the primary and recommended action.

Affected VersionsENISA

Linux 4f4920669d21e1060b7243e5118dc3b71ced1276 <6601d91a85761f33351c71e04ec0bbd294ca07ce
Linux patch: 6.6.158
Linux 4f4920669d21e1060b7243e5118dc3b71ced1276 <664fc0941df7c1918b2cd4de6ee00469ba77d8e4
Linux 4f4920669d21e1060b7243e5118dc3b71ced1276 <68a317b4aec8ca1868a39d69e40f9e29baa4f40a
Linux patch: 6.12.112
Linux 5.15.75 <5.15.222
Linux 5.19.17 <5.20
Linux 4f4920669d21e1060b7243e5118dc3b71ced1276 <d2f5082f9e84653fa1a9e8aebaaff23e688f5e19
Linux 7d98b26684cb2390729525b341ea099f0badbe18 <41e47f1664be86c91326f0afe0504a1162d00907
Linux patch: 0
Linux patch: 6.1.189
Linux 130d9e5017ade1b81d16783563edb38c12a2eab7
Linux 6.0.3 <6.1
Linux patch: 6.18.54
Linux 4f4920669d21e1060b7243e5118dc3b71ced1276 <6eb3b071be8e260543c604550c54dac66e6b174b
Linux patch: 7.3-rc4
Linux patch: 5.15.222
Linux 4f4920669d21e1060b7243e5118dc3b71ced1276 <0cda8273265d30cac6423834fd7d4acb75f04fdb
Linux patch: 7.2.8
Linux f520075da484306bbb8425afd2c42404ba74816f
Linux 6.1

Affected Packages

euvd linux fix: 5.15.222, 5.20, 6.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected code is the xfrm transport-mode reinjection machinery in net/xfrm/xfrm_input.c (xfrm_trans_reinject() around line 806 and xfrm_trans_queue_net()), covered by CPE cpe:2.3:a:linux:linux. Historically this reinjection loop ran from a tasklet in softirq context, where local_bh_disable() implied an RCU read-side critical section; commit 4f4920669d21 ('xfrm: Reinject transport-mode packets through workqueue') moved it into a workqueue worker in process context, which under CONFIG_PREEMPT_RCU does not establish such a critical section. Consequently finish callbacks (ip6_rcv_finish, ip6_pkt_drop/ip6_pkt_discard, route and l3mdev lookups) perform rcu_dereference_check() operations without the lock, triggering syzbot's 'suspicious RCU usage' warning via __in6_dev_get_safely in include/net/addrconf.h. Compounding this, skbs queued through xfrm_trans_queue_net() can carry non-refcounted (noref) dst entries from ip_route_input_noref(), and on netdevice unregistration dst_dev_put() rewrites dst->dev to blackhole_netdev, so dst no longer pins skb->dev across workqueue deferral - creating a genuine use-after-free window rather than a cosmetic lockdep splat. The upstream fix adds skb_dst_force(skb) in xfrm_trans_queue_net() while still inside the caller's RCU section, takes dev_hold()/dev_put() around the deferral, and wraps the finish-callback loop in xfrm_trans_reinject() with rcu_read_lock().

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 4.7 MEDIUM

Timing-dependent race needing concurrent netdevice unregistration (AC:H) and local IPsec/xfrm use (AV:L, PR:L); demonstrated impact is a use-after-free crash, so availability-only (A:H).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Oct 07, 2026 - 07:22 NVD
7.8 (HIGH)
Patch available
Oct 06, 2026 - 10:02 EUVD
CVE Published
Oct 06, 2026 - 08:46 cve.org
HIGH 7.8
CVE Published
Oct 06, 2026 - 08:46 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

xfrm: add missing rcu_read_lock(), skb_dst_force() and dev_hold() for xfrm_trans_reinject()

syzbot reported a suspicious RCU usage warning in ip6_pkt_drop():

WARNING: suspicious RCU usage in ip6_pkt_drop include/net/addrconf.h:389 suspicious rcu_dereference_check() usage!

Call Trace: __in6_dev_get_safely include/net/addrconf.h:389 [inline] ip6_pkt_drop+0x596/0x610 net/ipv6/route.c:4620 ip6_pkt_discard+0x1c/0x30 net/ipv6/route.c:4651 xfrm_trans_reinject+0x324/0x630 net/xfrm/xfrm_input.c:806 process_one_work kernel/workqueue.c:3322 [inline] process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3486

When commit 4f4920669d21 ("xfrm: Reinject transport-mode packets through workqueue") converted xfrm_trans_reinject from a tasklet to a workqueue, the reinjection loop ceased running in softirq context. Workqueue workers run in process context where local_bh_disable() does not enter an RCU read-side critical section under CONFIG_PREEMPT_RCU.

Because finish callbacks (such as ip6_rcv_finish) expect to run under an RCU read lock (performing route lookups, l3mdev lookups, and accessing RCU-protected data structures), invoking them in workqueue context without rcu_read_lock() triggers RCU lockdep warnings.

Furthermore, packets queued to the workqueue via xfrm_trans_queue_net() may carry non-refcounted (noref) dst entries (e.g. from ip_route_input_noref). Additionally, on netdevice unregistration, dst_dev_put() replaces dst->dev with blackhole_netdev, so dst entries do not keep skb->dev alive while queued in the workqueue.

Fix these issues by:

  1. Calling skb_dst_force(skb) in xfrm_trans_queue_net() while still in the

caller's RCU section to ensure dst is reference-counted before queuing.

  1. Holding a reference on skb->dev via dev_hold()/dev_put() across workqueue

deferral so skb->dev remains valid during finish() callback processing.

  1. Acquiring rcu_read_lock() around the finish callback invocation loop in

xfrm_trans_reinject().

Executive ViewAI

Why It Matters

A memory-safety defect in the Linux kernel's IPsec/xfrm packet-reinjection path can crash or corrupt the kernel, causing unplanned outages and reboots on affected hosts. The impact is availability-only and requires an authenticated local user with low privileges plus a specific network device condition, so multi-tenant, containerized, and shared Linux environments carry the greatest risk. No public exploit code has been identified and successful exploitation demands significant timing precision, but a vendor fix is available and should be scheduled promptly.

Business Impact: Medium
Compensating Controls

Apply vendor patch. Until the update is deployed, restrict local shell and container access on shared hosts to trusted users, monitor for unexpected kernel panics or unplanned reboots, and avoid unnecessary network device registration/unregistration on high-value systems.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Ubiquitous
Linux kernel runs on a huge fraction of servers and devices
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy