CVE-2024-57949: irqchip/gic-v3-its: Don't enable interrupts in its_irq_set_vcpu_affinity()
In the Linux kernel, the following vulnerability has been resolved:
irqchip/gic-v3-its: Don't enable interrupts in itsirqsetvcpuaffinity()
The following call-chain leads to enabling interrupts in a nested interrupt disabled section:
irqsetvcpuaffinity() irqgetdesclock() rawspinlockirqsave() <--- Disable interrupts itsirqsetvcpuaffinity() guard(rawspinlockirq) <--- Enables interrupts when leaving the guard() irqputdescunlock() <--- Warns because interrupts are enabled
This was broken in commit b97e8a2f7130, which replaced the original rawspin[un]lock() pair with guard(rawspinlockirq).
Fix the issue by using guard(rawspinlock).
[ tglx: Massaged change log ]
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.27-1 - Upgrade
Upgrade
debian/linux-6.1to a version that resolves this vulnerability.Fixed in 6.1.129-1~deb11u1 - Compensating control
In its_irq_set_vcpu_affinity(), replace guard(raw_spinlock_irq) with guard(raw_spinlock) so leaving the guard does not re-enable interrupts in the nested interrupt-disabled section.
Event History
Frequently Asked Questions
What is the severity of CVE-2024-57949?
CVE-2024-57949 has been classified as a medium severity vulnerability in the Linux kernel.
How do I fix CVE-2024-57949?
To fix CVE-2024-57949, ensure that your Linux kernel is updated to the latest patched version that addresses this issue.
What products are affected by CVE-2024-57949?
CVE-2024-57949 affects various versions of the Linux kernel.
What type of vulnerability is CVE-2024-57949?
CVE-2024-57949 is a vulnerability related to improper handling of interrupts within the Linux kernel's irqchip subsystem.
Can CVE-2024-57949 lead to system compromise?
CVE-2024-57949 may allow for unexpected behavior in system interrupt handling, potentially leading to stability issues, but does not directly compromise system security.