CVE-2026-64512
Description
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.
Metadata
Severity & Metrics
No CVSS data available.
Affected products (2)
| Vendor | Product | Platform | Versions |
|---|---|---|---|
| Linux | Linux | — | 4949affd5288b867cdf115f5b08d6166b2027f87 < b54c4632946ae42f2b39ed38abd909bbf78cbcc2, 01fc53be672acae37e611c80cc0b4f3939584de3 < e904596ba6dd108534ffa15e3e46b2fe245145e2, 1b890ae474d19800a6be1696df7fb4d9a41676e4 < 2fb80e962029000959f651665baa4838cc92eb99, 2f4a4d63a193be6fd530d180bb13c3592052904c < 37f28bf8f14672dfa395994e41fd778a63f0bf5c … |
| Linux | Linux | — | 6.9, 0 < 6.9, 5.15.155 ≤ 5.15.*, 6.1.178 ≤ 6.1.* … |
References (7)
- https://git.kernel.org/stable/c/b54c4632946ae42f2b39ed38abd909bbf78cbcc2
- https://git.kernel.org/stable/c/e904596ba6dd108534ffa15e3e46b2fe245145e2
- https://git.kernel.org/stable/c/2fb80e962029000959f651665baa4838cc92eb99
- https://git.kernel.org/stable/c/37f28bf8f14672dfa395994e41fd778a63f0bf5c
- https://git.kernel.org/stable/c/f29dc6132d4968e39d8fa575d1a12e2c718ce57b
- https://git.kernel.org/stable/c/dc066bd13c860bb27d6ace511210e18b8064c1d9
- https://git.kernel.org/stable/c/1b1acf2dada0cc3931bb2cb9ff8832edfbee46a1