Skip to main content

CVE-2025-21849: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2025-21849cvecve-2025-21849
Published: Wed Mar 12 2025 (03/12/2025, 09:42:04 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: drm/i915/gt: Use spin_lock_irqsave() in interruptible context spin_lock/unlock() functions used in interrupt contexts could result in a deadlock, as seen in GitLab issue #13399, which occurs when interrupt comes in while holding a lock. Try to remedy the problem by saving irq state before spin lock acquisition. v2: add irqs' state save/restore calls to all locks/unlocks in signal_irq_work() execution (Maciej) v3: use with spin_lock_irqsave() in guc_lrc_desc_unpin() instead of other lock/unlock calls and add Fixes and Cc tags (Tvrtko); change title and commit message (cherry picked from commit c088387ddd6482b40f21ccf23db1125e8fa4af7e)

AI-Powered Analysis

AILast updated: 06/30/2025, 09:55:54 UTC

Technical Analysis

CVE-2025-21849 is a vulnerability identified in the Linux kernel, specifically within the Direct Rendering Manager (DRM) i915 graphics driver subsystem. The issue arises from improper use of spin_lock and spin_unlock functions in interruptible contexts. In kernel programming, spin locks are synchronization primitives used to protect shared data from concurrent access. However, using spin_lock/unlock without saving and restoring interrupt states in contexts where interrupts can occur may lead to deadlocks. This vulnerability manifests when an interrupt triggers while a spin lock is held without the interrupt state being saved, causing the system to deadlock due to nested lock acquisition attempts. The fix involves replacing the standard spin_lock/unlock calls with spin_lock_irqsave()/spin_unlock_irqrestore() variants, which save and restore the interrupt state around the lock acquisition and release. This ensures that interrupts are disabled during the critical section, preventing deadlocks caused by interrupt handlers attempting to acquire the same lock. The patch was applied to all relevant locking calls in the signal_irq_work() execution path and specifically in the guc_lrc_desc_unpin() function. The vulnerability is rooted in kernel-level synchronization and affects the Linux kernel versions identified by the commit hash 2f2cc53b5fe7022f3ae602eb24573d52f8740959. No known exploits are currently reported in the wild, and the vulnerability does not have an assigned CVSS score. The issue was tracked in GitLab issue #13399 and resolved through multiple patch iterations to ensure comprehensive coverage of interrupt state management during locking.

Potential Impact

For European organizations, this vulnerability primarily poses a risk to systems running vulnerable Linux kernel versions with the affected i915 DRM driver, commonly found in Intel integrated graphics environments. The impact is mainly on system stability and availability rather than confidentiality or integrity. A deadlock in kernel space can cause system hangs or crashes, leading to denial of service (DoS) conditions. This can disrupt critical services, especially in environments relying on Linux servers for infrastructure, cloud services, or embedded systems. Organizations with high availability requirements, such as financial institutions, telecommunications providers, and public sector entities, could experience operational disruptions if affected systems encounter this deadlock. Although no direct exploitation for privilege escalation or data compromise is indicated, the potential for service outages necessitates prompt remediation. The vulnerability's impact is more pronounced in environments where interrupt-driven workloads and graphics processing are intensive, such as virtual desktop infrastructure (VDI), graphical workstations, or multimedia servers.

Mitigation Recommendations

European organizations should prioritize updating their Linux kernels to versions that include the fix for CVE-2025-21849. Specifically, they should apply patches that replace spin_lock/unlock calls with spin_lock_irqsave()/spin_unlock_irqrestore() in the DRM i915 driver and related kernel components. System administrators should audit their kernel versions and upgrade to the latest stable releases provided by their Linux distribution vendors. For environments where immediate patching is not feasible, organizations can mitigate risk by minimizing workloads that heavily utilize the i915 driver or by isolating affected systems to reduce impact scope. Monitoring system logs for signs of kernel deadlocks or hangs can provide early detection of potential issues. Additionally, implementing robust system restart and failover mechanisms can reduce downtime caused by unexpected kernel deadlocks. Engaging with Linux distribution security advisories and subscribing to kernel mailing lists will ensure timely awareness of updates and patches related to this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-12-29T08:45:45.779Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9832c4522896dcbe89b4

Added to database: 5/21/2025, 9:09:06 AM

Last enriched: 6/30/2025, 9:55:54 AM

Last updated: 8/9/2025, 12:15:57 AM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats