CVE-2026-43363Linux内核x86/apic组件存在安全漏洞。当系统从s2ram(挂起到内存)恢复时,固件可能会重新启用x2apic模式,而内核在启动时可能因不支持IRQ重映射等原因将其禁用。这种状态不匹配导致内核继续使用xapic接口,而硬件实际处于x2apic模式,从而引发系统挂起。该漏洞发生在默认配置、裸机环境及s2ram场景下,攻击者可利用此漏洞导致系统不可用。
该漏洞源于Linux内核在处理APIC(高级可编程中断控制器)状态恢复时的逻辑缺陷。根据ACPI v6.6规范,固件在从S2/S3睡眠状态唤醒时,有权将CPU配置(包括MSR状态)恢复到初始启动配置。如果初始启动配置开启了x2apic,但内核在运行时将其禁用(x2apic_mode = 0),固件在唤醒时可能会再次启用x2apic。在lapic_resume()函数中,原先没有检查并纠正固件修改后的模式。这导致软件状态(内核预期使用xapic)与硬件状态(实际处于x2apic)不一致。由于xapic和x2apic的内存映射寄存器访问方式不同,这种不一致会导致内核无法正确处理中断,进而触发系统死锁或挂起。