CVE-2026-53240
Analyzed Analyzed - Analysis Complete

Use-After-Free in Linux Kernel XFRM iptfs

Vulnerability report for CVE-2026-53240, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-25

Last updated on: 2026-07-08

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: xfrm: iptfs: fix use-after-free on first_skb in __input_process_payload __input_process_payload() stores first_skb into xtfs->ra_newskb under drop_lock when starting partial reassembly, then unlocks and breaks out of the processing loop. The post-loop check reads xtfs->ra_newskb without the lock to decide whether first_skb is still owned: if (first_skb && first_iplen && !defer && first_skb != xtfs->ra_newskb) Between spin_unlock and this read, a concurrent CPU running iptfs_reassem_cont() (or the drop_timer hrtimer) can complete reassembly, NULL xtfs->ra_newskb, and free the skb. The check then evaluates first_skb != NULL as true, and pskb_trim/ip_summed/consume_skb operate on the freed skb β€” a use-after-free in skbuff_head_cache. Replace the unlocked read with a local bool that records whether first_skb was handed to the reassembly state in the current call. The flag is set after the existing spin_unlock, before the break, using the pointer equality that is stable at that point (first_skb == skb iff first_skb was stored in ra_newskb).

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-25
Last Modified
2026-07-08
Generated
2026-07-15
AI Q&A
2026-06-25
EPSS Evaluated
2026-07-14
NVD
EUVD

Affected Vendors & Products

Showing 9 associated CPEs
Vendor Product Version / Range
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel From 6.19 (inc) to 7.0.13 (exc)
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel 7.1
linux linux_kernel From 6.14 (inc) to 6.18.36 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-416 The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a use-after-free issue in the Linux kernel's xfrm iptfs module, specifically in the __input_process_payload() function. The function stores a pointer called first_skb into a reassembly state variable under a lock, then releases the lock and exits a processing loop. After unlocking, the code reads the pointer without the lock to check if first_skb is still owned. However, between unlocking and this read, another CPU thread can complete the reassembly, nullify the pointer, and free the associated memory. This leads to operations being performed on freed memory, causing a use-after-free condition.

The fix involves replacing the unlocked read with a local boolean flag that records whether first_skb was handed to the reassembly state during the current call, ensuring safe pointer comparison after unlocking.

Impact Analysis

This use-after-free vulnerability can lead to undefined behavior in the Linux kernel, such as memory corruption, system crashes, or potential escalation of privileges. Exploiting this flaw could allow an attacker to execute arbitrary code or cause denial of service by crashing the system.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-53240. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart