CVE-2023-52994

Summary

In the Linux kernel, the following vulnerability has been resolved:

acpi: Fix suspend with Xen PV

Commit f1e525009493 ("x86/boot: Skip realmode init code when running as Xen PV guest") missed one code path accessing real_mode_header, leading to dereferencing NULL when suspending the system under Xen:

[  348.284004] PM: suspend entry (deep)
[  348.289532] Filesystems sync: 0.005 seconds
[  348.291545] Freezing user space processes ... (elapsed 0.000 seconds) done.
[  348.292457] OOM killer disabled.
[  348.292462] Freezing remaining freezable tasks ... (elapsed 0.104 seconds) done.
[  348.396612] printk: Suspending console(s) (use no_console_suspend to debug)
[  348.749228] PM: suspend devices took 0.352 seconds
[  348.769713] ACPI: EC: interrupt blocked
[  348.816077] BUG: kernel NULL pointer dereference, address: 000000000000001c
[  348.816080] #PF: supervisor read access in kernel mode
[  348.816081] #PF: error_code(0x0000) - not-present page
[  348.816083] PGD 0 P4D 0
[  348.816086] Oops: 0000 [#1] PREEMPT SMP NOPTI
[  348.816089] CPU: 0 PID: 6764 Comm: systemd-sleep Not tainted 6.1.3-1.fc32.qubes.x86_64 #1
[  348.816092] Hardware name: Star Labs StarBook/StarBook, BIOS 8.01 07/03/2022
[  348.816093] RIP: e030:acpi_get_wakeup_address+0xc/0x20

Fix that by adding an optional acpi callback allowing to skip setting the wakeup address, as in the Xen PV case this will be handled by the hypervisor anyway.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxb1898793777fe10a31c160bb8bc385d6eea640c6 < b96903b7fc8c82ddfd92df4cdd83db3e567da0a5affected
LinuxLinuxf1e525009493cbd569e7c8dd7d58157855f8658d < fe0ba8c23f9a35b0307eb662f16dd3a75fcdae41affected
LinuxLinux3414632beaadf635a4affd4ae278297978640965affected
LinuxLinux6.0.16 < 6.1affected
LinuxLinux6.1.2 < 6.1.9affected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References