---
id: CVE-2026-98229
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  xfrm: save input state data before secpath resets

  xfrm_input() stores the current xfrm_state in the skb secpath while it
  continues receive-side processing
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  xfrm: save input state data before secpath resets

  xfrm_input() stores the current xfrm_state in the skb secpath while it
  continues receive-side processing. Some input …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= df3893c176e9b0bb39b28ab5ec8113fa20ad1ee0 <
    35de97850987b3d022ed17df5b2577242e746daf
  - >-
    Linux >= df3893c176e9b0bb39b28ab5ec8113fa20ad1ee0 <
    148db154066b066616b82c12d373e786eba1f96a
  - >-
    Linux >= df3893c176e9b0bb39b28ab5ec8113fa20ad1ee0 <
    537a5ae18b2be70f8eb0aca843682e81a69aab91
  - >-
    Linux >= df3893c176e9b0bb39b28ab5ec8113fa20ad1ee0 <
    3cf5cdecd99c9c186a5ea518d93bbf3045b6e3aa
  - Linux 3.15
published: '2026-10-06'
updated: '2026-10-06'
sourceUpdated: '2026-10-06T09:18:10.260'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98229'
references:
  - url: 'https://git.kernel.org/stable/c/148db154066b066616b82c12d373e786eba1f96a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/35de97850987b3d022ed17df5b2577242e746daf'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3cf5cdecd99c9c186a5ea518d93bbf3045b6e3aa'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/537a5ae18b2be70f8eb0aca843682e81a69aab91'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-10-06T08:50:17.438Z'
---

## Overview

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

xfrm: save input state data before secpath resets

xfrm_input() stores the current xfrm_state in the skb secpath while it
continues receive-side processing. Some input paths can reset that secpath
before xfrm_input() has finished dereferencing the state.

Receive callback users such as VTI and XFRM interfaces can reset the
secpath. The VTI receive path does so before checking whether the packet
crosses network namespaces, while the XFRM interface path does so only for
cross-network-namespace packets. The XFRM_MAX_DEPTH error path can also
reset the secpath before the final drop callback reports the current
state's protocol.

If secpath_reset() drops the last state reference while the state is
concurrently deleted, xfrm_input() can still dereference the freed state
when selecting transport_finish() or reporting the drop callback protocol.

Save the state protocol on the stack while the state is still valid,
and use the already saved address family for transport_finish(). A larval
XFRM_STATE_ACQ state has no type, so retain nexthdr as its protocol. This
preserves the existing drop-path fallback while avoiding the post-reset
state dereferences without adding an extra state reference to every
received packet.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
