Skip to main content

CVE-2024-57949: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-57949cvecve-2024-57949
Published: Sun Feb 09 2025 (02/09/2025, 11:37:23 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: irqchip/gic-v3-its: Don't enable interrupts in its_irq_set_vcpu_affinity() The following call-chain leads to enabling interrupts in a nested interrupt disabled section: irq_set_vcpu_affinity() irq_get_desc_lock() raw_spin_lock_irqsave() <--- Disable interrupts its_irq_set_vcpu_affinity() guard(raw_spinlock_irq) <--- Enables interrupts when leaving the guard() irq_put_desc_unlock() <--- Warns because interrupts are enabled This was broken in commit b97e8a2f7130, which replaced the original raw_spin_[un]lock() pair with guard(raw_spinlock_irq). Fix the issue by using guard(raw_spinlock). [ tglx: Massaged change log ]

AI-Powered Analysis

AILast updated: 06/27/2025, 22:57:15 UTC

Technical Analysis

CVE-2024-57949 is a vulnerability identified in the Linux kernel specifically within the irqchip/gic-v3-its subsystem, which handles interrupt management for ARM's Generic Interrupt Controller version 3 with Interrupt Translation Service (GICv3-ITS). The flaw arises from improper handling of interrupt enabling within a critical section where interrupts should remain disabled. The vulnerability is rooted in a recent code change (commit b97e8a2f7130) that replaced the original raw_spin_lock_irqsave/raw_spin_unlock_irqrestore pair with a guard(raw_spinlock_irq) construct. This change inadvertently caused interrupts to be enabled prematurely when leaving the guard, specifically in the function its_irq_set_vcpu_affinity(). The call chain leading to the issue involves irq_set_vcpu_affinity() acquiring a descriptor lock with interrupts disabled, but the guard construct enabling interrupts before the lock is fully released, which triggers warnings and can lead to nested interrupts being enabled inappropriately. The fix involves reverting to using guard(raw_spinlock) instead of guard(raw_spinlock_irq) to ensure interrupts remain disabled during the critical section. This vulnerability affects specific Linux kernel commits and versions identified by their hashes, indicating it is present in recent kernel development branches. No known exploits are reported in the wild as of the publication date. The vulnerability is subtle and relates to low-level kernel synchronization and interrupt handling mechanisms, which are critical for system stability and security. Improper interrupt handling can lead to race conditions, inconsistent system states, or potential escalation of privilege if exploited in conjunction with other vulnerabilities.

Potential Impact

For European organizations, the impact of CVE-2024-57949 depends largely on their use of Linux systems running affected kernel versions, particularly on ARM-based platforms such as servers, embedded devices, or cloud infrastructure utilizing GICv3-ITS. Improper interrupt handling can cause system instability, crashes, or unpredictable behavior, potentially disrupting critical services. In high-availability environments, this could lead to downtime or data loss. Although no direct exploit is known, the vulnerability could be leveraged as part of a multi-stage attack to escalate privileges or bypass security controls by exploiting race conditions in interrupt management. This is especially relevant for sectors relying on ARM-based Linux systems, including telecommunications, automotive, industrial control, and cloud service providers prevalent in Europe. Given the kernel-level nature of the flaw, successful exploitation could compromise confidentiality, integrity, and availability of systems. Organizations with stringent uptime and security requirements, such as financial institutions, healthcare providers, and government agencies, could face significant operational risks if the vulnerability is not addressed promptly.

Mitigation Recommendations

European organizations should prioritize updating their Linux kernels to versions where this vulnerability is fixed, specifically applying patches that revert the interrupt guard to guard(raw_spinlock) in the irqchip/gic-v3-its code. Kernel maintainers and distributors should be monitored for official patch releases. For organizations compiling custom kernels, ensure the affected commits are excluded or patched accordingly. Additionally, conduct thorough testing of kernel updates in staging environments to verify stability and compatibility, especially on ARM-based hardware. Employ kernel hardening and security modules (e.g., SELinux, AppArmor) to reduce the attack surface and monitor for unusual kernel behavior or system crashes that might indicate exploitation attempts. Maintain robust logging and alerting on kernel warnings related to interrupt handling. Where possible, limit access to systems running vulnerable kernels to trusted administrators and restrict network exposure to reduce the risk of exploitation. Finally, maintain an inventory of ARM-based Linux systems to ensure all affected devices are identified and remediated.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-01-19T11:50:08.380Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9820c4522896dcbdd212

Added to database: 5/21/2025, 9:08:48 AM

Last enriched: 6/27/2025, 10:57:15 PM

Last updated: 8/1/2025, 6:45:25 AM

Views: 10

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