CVE-2025-40215

CVE-2025-40215

High · published December 4, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
3.4
In the wild
Unconfirmed
What it is

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

xfrm: delete x->tunnel as we delete x

The ipcomp fallback tunnels currently get deleted (from the various

lists and hashtables) as the last user state that needed that fallback

is destroyed (not deleted). If a reference to that user state still

exists, the fallback state will remain on the hashtables/lists,

triggering the WARN in xfrm_state_fini. Because of those remaining

references, the fix in commit f75a2804da39 ("xfrm: destroy xfrm_state

synchronously on net exit path") is not complete.

We recently fixed one such situation in TCP due to defered freeing of

skbs (commit 9b6412e6979f ("tcp: drop secpath at the same time as we

currently drop dst")). This can also happen due to IP reassembly: skbs

with a secpath remain on the reassembly queue until netns

destruction. If we can't guarantee that the queues are flushed by the

time xfrm_state_fini runs, there may still be references to a (user)

xfrm_state, preventing the timely deletion of the corresponding

fallback state.

Instead of chasing each instance of skbs holding a secpath one by one,

this patch fixes the issue directly within xfrm, by deleting the

fallback state as soon as the last user state depending on it has been

deleted. Destruction will still happen when the final reference is

dropped.

A separate lockdep class for the fallback state is required since

we're going to lock x->tunnel while x is locked.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00144 · 3.4th percentile
Published
2025-12-04T18:15Z
References (6)
EPSS history
Timeline
  • 04 DEC 12:38Z
    xfrm: delete x->tunnel as we delete x
    cvelistv5