CVE-2026-64512

Summary

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

ACPI: CPPC: Suppress UBSAN warning caused by field misuse

The definition of reg->access_width changes depending on the reg->space_id type. Type ACPI_ADR_SPACE_PLATFORM_COMM uses access_width to indicate the PCC region, which can result in a UBSAN if the value is greater than 4.

For example:

UBSAN: shift-out-of-bounds in drivers/acpi/cppc_acpi.c:1090:9 shift exponent 32 is too large for 32-bit type 'int' CPU: 61 UID: 0 PID: 1220 Comm: (udev-worker) Not tainted 7.0.10-201.fc44.aarch64 #1 PREEMPT(lazy) Hardware name: To be filled by O.E.M. Call trace: …(trimming) ubsan_epilogue+0x10/0x48 __ubsan_handle_shift_out_of_bounds+0xdc/0x1e0 cpc_write+0x4d0/0x670 cppc_set_perf+0x18c/0x490 cppc_cpufreq_cpu_init+0x1c8/0x380 [cppc_cpufreq] … (trimming)

Lets fix this by validating the region type, as well as whether access_width has a value. Then since we are returning bit_width directly for ACPI_ADR_SPACE_PLATFORM_COMM, drop the code correcting the size.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux4949affd5288b867cdf115f5b08d6166b2027f87 < b54c4632946ae42f2b39ed38abd909bbf78cbcc2affected
LinuxLinux01fc53be672acae37e611c80cc0b4f3939584de3 < e904596ba6dd108534ffa15e3e46b2fe245145e2affected
LinuxLinux1b890ae474d19800a6be1696df7fb4d9a41676e4 < 2fb80e962029000959f651665baa4838cc92eb99affected
LinuxLinux2f4a4d63a193be6fd530d180bb13c3592052904c < 37f28bf8f14672dfa395994e41fd778a63f0bf5caffected
LinuxLinux2f4a4d63a193be6fd530d180bb13c3592052904c < f29dc6132d4968e39d8fa575d1a12e2c718ce57baffected
LinuxLinux2f4a4d63a193be6fd530d180bb13c3592052904c < dc066bd13c860bb27d6ace511210e18b8064c1d9affected
LinuxLinux2f4a4d63a193be6fd530d180bb13c3592052904c < 1b1acf2dada0cc3931bb2cb9ff8832edfbee46a1affected
LinuxLinux6cb6b12b78dcd8867a3fdbb1b6d0ed1df2b208d1affected
LinuxLinux5.15.154 < 5.15.155affected
LinuxLinux6.1.90 < 6.1.178affected
LinuxLinux6.6.30 < 6.6.145affected
LinuxLinux6.8.9 < 6.9affected
LinuxLinux6.9affected
LinuxLinux0 < 6.9unaffected
LinuxLinux5.15.155 <= 5.15.*unaffected
LinuxLinux6.1.178 <= 6.1.*unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.96 <= 6.12.*unaffected
LinuxLinux6.18.39 <= 6.18.*unaffected
LinuxLinux7.1.4 <= 7.1.*unaffected
LinuxLinux7.2-rc1 <= *unaffected

Weaknesses

References