CVE-2025-38094 in Linux
Summary
by MITRE • 07/03/2025
In the Linux kernel, the following vulnerability has been resolved:
net: cadence: macb: Fix a possible deadlock in macb_halt_tx.
There is a situation where after THALT is set high, TGO stays high as well. Because jiffies are never updated, as we are in a context with interrupts disabled, we never exit that loop and have a deadlock.
That deadlock was noticed on a sama5d4 device that stayed locked for days.
Use retries instead of jiffies so that the timeout really works and we do not have a deadlock anymore.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Analysis
by VulDB Data Team • 04/17/2026
The vulnerability identified as CVE-2025-38094 represents a critical deadlock condition within the Linux kernel's Cadence MACB (Media Access Control Block) network driver implementation. This issue specifically affects the macb_halt_tx function which is responsible for halting transmission operations in network interfaces. The flaw manifests when the THALT bit is set to high state, but the TGO bit remains high simultaneously, creating an unintended loop condition that prevents proper system operation. The root cause stems from the driver's inability to properly manage timing mechanisms when interrupts are disabled, leading to a complete system hang that can persist for extended periods.
The technical implementation of this vulnerability involves the improper handling of jiffies counter updates within interrupt-disabled contexts. When the THALT signal is asserted to halt transmission, the driver enters a polling loop that relies on jiffies for timeout management. However, due to the interrupt disable context, jiffies are never updated, causing the loop to continue indefinitely without proper timeout handling. This condition is particularly problematic on sama5d4 ARM-based embedded systems where the deadlock can persist for days, effectively rendering the network interface unusable and potentially causing system-wide stability issues. The vulnerability demonstrates a classic race condition and resource management flaw where timing mechanisms fail to function correctly under specific interrupt contexts.
The operational impact of this vulnerability extends beyond simple network interface degradation to potentially compromise entire system availability. Systems utilizing the Cadence MACB driver on affected hardware platforms become vulnerable to extended lockups that can last for days, making the network functionality completely inaccessible. This condition affects embedded systems and industrial devices where network connectivity is critical for operation, potentially leading to service outages, remote management failures, and system recovery challenges. The vulnerability is particularly concerning in environments where automated monitoring and recovery mechanisms may not detect the silent deadlock condition, allowing systems to remain inoperable for extended periods without administrator intervention.
Mitigation strategies for CVE-2025-38094 focus on implementing proper retry mechanisms instead of relying on jiffies for timeout management within interrupt-disabled contexts. The fix involves modifying the macb_halt_tx function to use retry counters with explicit timeout values rather than depending on jiffies updates that are unavailable during interrupt disable periods. This approach aligns with established security practices for interrupt handling and timing mechanisms in kernel space programming. Organizations should prioritize updating their Linux kernel versions to include the patched implementation, particularly those running embedded systems based on sama5d4 or similar ARM architectures. System administrators should also implement monitoring solutions to detect network interface lockups and establish automated recovery procedures that can identify and reset affected network drivers before complete system failure occurs.
This vulnerability type relates to CWE-362, which addresses concurrent execution using lock objects, and CWE-367, which covers time-of-check to time-of-use (TOCTOU) errors. The issue demonstrates characteristics of the ATT&CK technique T1499.004, which involves network denial of service through resource exhaustion, and T1566.001, which covers spearphishing via email for initial access. The fix addresses fundamental kernel programming practices for interrupt handling and timing mechanisms that are essential for maintaining system stability in embedded and real-time environments where network reliability is paramount for operational continuity.