CVE-2026-53240

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
25/06/2026
Last modified:
08/07/2026

Description

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

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.14 (including) 6.18.36 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 7.0.13 (excluding)
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc7:*:*:*:*:*:*