🔍 CVE-2024-27437

5.5
CVSS Score
MEDIUM
2024-04-05
2026-10-15 01:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 vfio/pci 드라이버에서 DisINTx를 지원하지 않는 디바이스의 INTx IRQ 처리 중 발생하는 경합 조건을 수정합니다. request_irq()와 disable 사이에서 interrupt가 발생하면 disable depth가 중복으로 증가하여 복구 불가능한 상태가 되는 문제를 IRQF_NO_AUTOEN으로 자동 활성화를 방지하는 방식으로 해결합니다.

💡 쉬운 설명

리눅스 커널이 특정 디바이스의 인터럽트를 처리할 때 타이밍 문제로 인해 인터럽트가 이중으로 비활성화될 수 있는 오류가 있습니다. 처음부터 자동 활성화하지 않고 필요할 때만 활성화하도록 방식을 변경하여 문제를 해결합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: vfio/pci: Disable auto-enable of exclusive INTx IRQ Currently for devices requiring masking at the irqchip for INTx, ie. devices without DisINTx support, the IRQ is enabled in request_irq() and subsequently disabled as necessary to align with the masked status flag. This presents a window where the interrupt could fire between these events, resulting in the IRQ incrementing the disable depth twice. This would be unrecoverable for a user since the masked flag prevents nested enables through vfio. Instead, invert the logic using IRQF_NO_AUTOEN such that exclusive INTx is never auto-enabled, then unmask as required.

📍 영향받는 시스템

Linux 커널 (특히 VFIO/PCI 드라이버를 사용하는 가상화 환경과 DisINTx 미지원 디바이스)

⚔️ 공격 벡터

로컬 인터럽트 처리의 경합 조건을 통한 IRQ 서브시스템 오작동

🛡️ 대응 방법

Linux 커널을 CVE-2024-27437 패치가 포함된 버전 이상으로 업그레이드

🔧 검증 코드

IRQF_NO_AUTOEN이 vfio 드라이버에서 사용되면 패치 적용된 상태이며, 결과가 없으면 취약한 커널 버전입니다.

Shell / Script
grep -r 'IRQF_NO_AUTOEN' /usr/src/linux*/drivers/vfio/ 2>/dev/null | head -1

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel