---
id: CVE-2026-64512
title: 'ACPI: CPPC: Suppress UBSAN warning caused by field misuse'
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_PLATFOR…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 4949affd5288b867cdf115f5b08d6166b2027f87 <
    b54c4632946ae42f2b39ed38abd909bbf78cbcc2
  - >-
    Linux >= 01fc53be672acae37e611c80cc0b4f3939584de3 <
    e904596ba6dd108534ffa15e3e46b2fe245145e2
  - >-
    Linux >= 1b890ae474d19800a6be1696df7fb4d9a41676e4 <
    2fb80e962029000959f651665baa4838cc92eb99
  - >-
    Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c <
    37f28bf8f14672dfa395994e41fd778a63f0bf5c
  - >-
    Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c <
    f29dc6132d4968e39d8fa575d1a12e2c718ce57b
  - >-
    Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c <
    dc066bd13c860bb27d6ace511210e18b8064c1d9
  - >-
    Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c <
    1b1acf2dada0cc3931bb2cb9ff8832edfbee46a1
  - Linux 6cb6b12b78dcd8867a3fdbb1b6d0ed1df2b208d1
  - Linux >= 5.15.154 < 5.15.155
  - Linux >= 6.1.90 < 6.1.178
  - Linux >= 6.6.30 < 6.6.145
  - Linux >= 6.8.9 < 6.9
  - Linux 6.9
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-06T16:40:51.386689Z'
published: '2026-07-25'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:44:56.109Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-64512'
references:
  - url: 'https://git.kernel.org/stable/c/b54c4632946ae42f2b39ed38abd909bbf78cbcc2'
  - url: 'https://git.kernel.org/stable/c/e904596ba6dd108534ffa15e3e46b2fe245145e2'
  - url: 'https://git.kernel.org/stable/c/2fb80e962029000959f651665baa4838cc92eb99'
  - url: 'https://git.kernel.org/stable/c/37f28bf8f14672dfa395994e41fd778a63f0bf5c'
  - url: 'https://git.kernel.org/stable/c/f29dc6132d4968e39d8fa575d1a12e2c718ce57b'
  - url: 'https://git.kernel.org/stable/c/dc066bd13c860bb27d6ace511210e18b8064c1d9'
  - url: 'https://git.kernel.org/stable/c/1b1acf2dada0cc3931bb2cb9ff8832edfbee46a1'
tags:
  - cve.org
epss: 0.00173
epssPercentile: 0.06788
ingestedAt: '2026-11-06T16:57:43.157Z'
---

## Overview

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

- `Linux >= 4949affd5288b867cdf115f5b08d6166b2027f87 < b54c4632946ae42f2b39ed38abd909bbf78cbcc2`
- `Linux >= 01fc53be672acae37e611c80cc0b4f3939584de3 < e904596ba6dd108534ffa15e3e46b2fe245145e2`
- `Linux >= 1b890ae474d19800a6be1696df7fb4d9a41676e4 < 2fb80e962029000959f651665baa4838cc92eb99`
- `Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c < 37f28bf8f14672dfa395994e41fd778a63f0bf5c`
- `Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c < f29dc6132d4968e39d8fa575d1a12e2c718ce57b`
- `Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c < dc066bd13c860bb27d6ace511210e18b8064c1d9`
- `Linux >= 2f4a4d63a193be6fd530d180bb13c3592052904c < 1b1acf2dada0cc3931bb2cb9ff8832edfbee46a1`
- `Linux 6cb6b12b78dcd8867a3fdbb1b6d0ed1df2b208d1`
- `Linux >= 5.15.154 < 5.15.155`
- `Linux >= 6.1.90 < 6.1.178`
- `Linux >= 6.6.30 < 6.6.145`
- `Linux >= 6.8.9 < 6.9`
- `Linux 6.9`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
