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.
Metrics
No CVSS score has been published yet.
Affected software
Source: the vendor's advisory (CNA). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 4949affd5288b867cdf115f5b08d6166b2027f87, < b54c4632946ae42f2b39ed38abd909bbf78cbcc2; >= 01fc53be672acae37e611c80cc0b4f3939584de3, < e904596ba6dd108534ffa15e3e46b2fe245145e2; >= 1b890ae474d19800a6be1696df7fb4d9a41676e4, < 2fb80e962029000959f651665baa4838cc92eb99; >= 2f4a4d63a193be6fd530d180bb13c3592052904c, < 37f28bf8f14672dfa395994e41fd778a63f0bf5c; >= 2f4a4d63a193be6fd530d180bb13c3592052904c, < f29dc6132d4968e39d8fa575d1a12e2c718ce57b; >= 2f4a4d63a193be6fd530d180bb13c3592052904c, < dc066bd13c860bb27d6ace511210e18b8064c1d9; >= 2f4a4d63a193be6fd530d180bb13c3592052904c, < 1b1acf2dada0cc3931bb2cb9ff8832edfbee46a1; 6cb6b12b78dcd8867a3fdbb1b6d0ed1df2b208d1; >= 5.15.154, < 5.15.155; >= 6.1.90, < 6.1.178; >= 6.6.30, < 6.6.145; >= 6.8.9, < 6.9 |
| Linux | Linux | 6.9 |
References
- https://git.kernel.org/stable/c/1b1acf2dada0cc3931bb2cb9ff8832edfbee46a1
- https://git.kernel.org/stable/c/2fb80e962029000959f651665baa4838cc92eb99
- https://git.kernel.org/stable/c/37f28bf8f14672dfa395994e41fd778a63f0bf5c
- https://git.kernel.org/stable/c/b54c4632946ae42f2b39ed38abd909bbf78cbcc2
- https://git.kernel.org/stable/c/dc066bd13c860bb27d6ace511210e18b8064c1d9
- https://git.kernel.org/stable/c/e904596ba6dd108534ffa15e3e46b2fe245145e2
- https://git.kernel.org/stable/c/f29dc6132d4968e39d8fa575d1a12e2c718ce57b
Timeline
- Published
- Jul 25, 2026
- Last modified
- Aug 17, 2026
- NVD status
- Received