CVE-2026-43363

In the Linux kernel, the following vulnerability has been resolved: x86/apic: Disable x2apic on resume if the kernel expects so When resuming from s2ram, firmware may re-enable x2apic mode, which may have been disabled by the kernel during boot either because it doesn't support IRQ remapping or for other reasons. This causes the kernel to continue using the xapic interface, while the hardware is in x2apic mode, which causes hangs. This happens on defconfig + bare metal + s2ram. Fix this in lapic_resume() by disabling x2apic if the kernel expects it to be disabled, i.e. when x2apic_mode = 0. The ACPI v6.6 spec, Section 16.3 [1] says firmware restores either the pre-sleep configuration or initial boot configuration for each CPU, including MSR state: When executing from the power-on reset vector as a result of waking from an S2 or S3 sleep state, the platform firmware performs only the hardware initialization required to restore the system to either the state the platform was in prior to the initial operating system boot, or to the pre-sleep configuration state. In multiprocessor systems, non-boot processors should be placed in the same state as prior to the initial operating system boot. (further ahead) If this is an S2 or S3 wake, then the platform runtime firmware restores minimum context of the system before jumping to the waking vector. This includes: CPU configuration. Platform runtime firmware restores the pre-sleep configuration or initial boot configuration of each CPU (MSR, MTRR, firmware update, SMBase, and so on). Interrupts must be disabled (for IA-32 processors, disabled by CLI instruction). (and other things) So at least as per the spec, re-enablement of x2apic by the firmware is allowed if "x2apic on" is a part of the initial boot configuration. [1] https://uefi.org/specs/ACPI/6.6/16_Waking_and_Sleeping.html#initialization [ bp: Massage. ]
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*

History

11 Nov 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: x86/apic: Deshabilitar x2apic al reanudar si el kernel así lo espera Al reanudar desde s2ram, el firmware puede volver a habilitar el modo x2apic, el cual pudo haber sido deshabilitado por el kernel durante el arranque, ya sea porque no soporta la reasignación de IRQ o por otras razones. Esto hace que el kernel continúe usando la interfaz xapic, mientras el hardware está en modo x2apic, lo que causa bloqueos. Esto ocurre en defconfig + bare metal + s2ram. Esto se soluciona en lapic_resume() deshabilitando x2apic si el kernel espera que esté deshabilitado, es decir, cuando x2apic_mode = 0. La especificación ACPI v6.6, Sección 16.3 [1] dice que el firmware restaura la configuración previa al reposo o la configuración de arranque inicial para cada CPU, incluyendo el estado MSR: Al ejecutar desde el vector de reinicio de encendido como resultado de despertar de un estado de reposo S2 o S3, el firmware de la plataforma realiza solo la inicialización de hardware requerida para restaurar el sistema al estado en que se encontraba la plataforma antes del arranque inicial del sistema operativo, o al estado de configuración previa al reposo. En sistemas multiprocesador, los procesadores que no son de arranque deben colocarse en el mismo estado que antes del arranque inicial del sistema operativo. (más adelante) Si se trata de un despertar S2 o S3, entonces el firmware de tiempo de ejecución de la plataforma restaura el contexto mínimo del sistema antes de saltar al vector de despertar. Esto incluye: Configuración de la CPU. El firmware de tiempo de ejecución de la plataforma restaura la configuración previa al reposo o la configuración de arranque inicial de cada CPU (MSR, MTRR, actualización de firmware, SMBase, y así sucesivamente). Las interrupciones deben estar deshabilitadas (para procesadores IA-32, deshabilitadas por la instrucción CLI). (y otras cosas) Así que, al menos según la especificación, la reactivación de x2apic por parte del firmware está permitida si ’x2apic on’ es parte de la configuración de arranque inicial. [1] https://uefi.org/specs/ACPI/6.6/16_Waking_and_Sleeping.html#initialization [ bp: Massage. ]

Information

Published : 2026-05-08 15:16

Updated : 2026-11-11 20:10


NVD link : CVE-2026-43363

Mitre link : CVE-2026-43363

CVE.ORG link : CVE-2026-43363


JSON object : View

Products Affected

linux

  • linux_kernel