CVE-2026-53197
Received Received - Intake
Deadlock in Linux Kernel XFRM iptfs

Publication date: 2026-06-25

Last updated on: 2026-06-25

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: xfrm: iptfs: fix ABBA deadlock in iptfs_destroy_state() iptfs_destroy_state() calls hrtimer_cancel() while holding a spinlock that the timer callback also acquires, leading to an ABBA deadlock on SMP systems. For the output timer (iptfs_timer): - iptfs_destroy_state() holds x->lock, calls hrtimer_cancel() - iptfs_delay_timer() callback takes x->lock For the drop timer (drop_timer): - iptfs_destroy_state() holds drop_lock, calls hrtimer_cancel() - iptfs_drop_timer() callback takes drop_lock Both timers use HRTIMER_MODE_REL_SOFT, so their callbacks run in softirq context. When hrtimer_cancel() is called for a soft timer that is currently executing on another CPU, hrtimer_cancel_wait_running() spins on softirq_expiry_lock -- the same lock held by the softirq running the callback. If the callback is blocked waiting for the spinlock held by the caller of hrtimer_cancel(), a circular dependency forms: CPU 0: holds lock_A -> waits for softirq_expiry_lock CPU 1: holds softirq_expiry_lock -> waits for lock_A Fix by calling hrtimer_cancel() before acquiring the respective locks. hrtimer_cancel() is safe to call without holding any lock and will wait for any in-progress callback to complete. For the output timer, the lock is still acquired afterwards to drain the packet queue. For the drop timer, the lock/unlock pair is removed entirely since it only existed to serialize with the timer callback, which hrtimer_cancel() already guarantees. Found by source code audit.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-25
Last Modified
2026-06-25
Generated
2026-06-25
AI Q&A
2026-06-25
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
linux_kernel linux_kernel *
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in the Linux kernel's xfrm iptfs component, specifically in the iptfs_destroy_state() function. The issue is an ABBA deadlock caused by the function calling hrtimer_cancel() while holding a spinlock that the timer callback also tries to acquire. This creates a circular dependency between CPUs on SMP systems, where one CPU holds a lock and waits for a softirq lock held by another CPU, which in turn waits for the first CPU's lock.

The deadlock occurs because both the output timer and drop timer callbacks run in softirq context and use the same locking mechanism, leading to a situation where each CPU is waiting on a lock held by the other, causing the system to hang.

The fix involves calling hrtimer_cancel() before acquiring the respective locks, which is safe and prevents the circular wait condition. For the output timer, the lock is acquired afterwards to drain the packet queue, and for the drop timer, the lock/unlock pair is removed entirely since hrtimer_cancel() already guarantees serialization with the timer callback.

Impact Analysis

This vulnerability can cause an ABBA deadlock in the Linux kernel on SMP systems, leading to a system hang or freeze when the iptfs_destroy_state() function and its timers interact.

Such a deadlock can impact system stability and availability, potentially causing denial of service conditions where affected systems become unresponsive until rebooted or otherwise recovered.

Mitigation Strategies

This vulnerability is resolved by fixing the ABBA deadlock in the Linux kernel's iptfs_destroy_state() function.

The fix involves calling hrtimer_cancel() before acquiring the respective locks to avoid circular dependencies that cause deadlocks.

Therefore, the immediate mitigation step is to update your Linux kernel to a version that includes this fix.

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