🔍 CVE-2026-72409

7.5
CVSS Score
HIGH
2026-08-15
2026-10-16 19:17
✅ 완료

🇰🇷 한글 설명

Marvell MPIC 플랫폼(Armada 370/XP/38x)의 Linux 커널 mvneta 드라이버에서 발생하는 취약점입니다. 시스템이 절전 모드(Suspend)로 진입할 때 NAPI 폴링이 완료되지 않으면 per-CPU 인터럽트가 영구적으로 마스킹되어 네트워크 연결이 완전히 끊어지는 문제가 발생합니다.

💡 쉬운 설명

컴퓨터가 잠시 잠들었다가 깨어날 때, 네트워크 신호를 받아들이는 스위치가 꺼진 상태로 유지되는 버그입니다. 이로 인해 컴퓨터가 깨어난 후에도 인터넷 연결이 되지 않는 현상이 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: mvneta: re-enable percpu interrupt on resume On Marvell MPIC platforms (Armada 370/XP/38x), mvneta uses a percpu IRQ disable/enable scheme for NAPI: the ISR (mvneta_percpu_isr) calls disable_percpu_irq() to mask the MPIC per-CPU interrupt and schedules NAPI poll, which calls enable_percpu_irq() on completion to unmask. If suspend occurs while NAPI poll is pending (between disable_percpu_irq in the ISR and enable_percpu_irq in poll completion), the interrupt is never re-enabled: 1. mvneta_percpu_isr: disable_percpu_irq() + napi_schedule() => MPIC masked, percpu_enabled cpumask bit cleared 2. NAPI poll does not complete before suspend proceeds (on PREEMPT_RT this is highly likely since softirqs run in ksoftirqd which gets frozen; on non-RT it can happen when softirq processing is deferred to ksoftirqd) 3. mvneta_stop_dev => napi_disable(): cancels the pending poll without executing the completion path 4. suspend_device_irqs => IRQCHIP_MASK_ON_SUSPEND: masks MPIC (already masked, but records IRQS_SUSPENDED) 5. Resume: mpic_resume checks irq_percpu_is_enabled() => false (bit was cleared in step 1) => skips unmask 6. mvneta_start_dev only restores device-level INTR_NEW_MASK, does not touch the MPIC per-CPU mask Result: MPIC per-CPU interrupt stays masked permanently. The NIC generates interrupts (INTR_NEW_CAUSE != 0) but the CPU never receives them, causing complete loss of network connectivity. Fix by calling on_each_cpu(mvneta_percpu_enable) in the resume path to unconditionally unmask the MPIC per-CPU interrupt regardless of pre-suspend state.

📍 영향받는 시스템

Linux kernel (Marvell Armada 370/XP/38x platforms using mvneta driver)

⚔️ 공격 벡터

Local/Physical (System Suspend/Resume cycle manipulation)

🛡️ 대응 방법

Linux 커널을 최신 패치가 적용된 버전으로 업데이트하여 resume 경로에서 per-CPU 인터럽트를 강제로 재활성화해야 합니다.

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel