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

platform/x86: panasonic-laptop: Fix sentinel write past pcc->sinf[]

acpi_pcc_retrieve_biosdata() rejects SINF packages only when
pcc->num_sifr is strictly less than hkey->package.count, then
unconditionally writes a trailing sentinel at
pcc->sinf[hkey->package.count]. But pcc->sinf[] is allocated with
exactly pcc->num_sifr elements (valid indices 0..num_sifr-1), so that
write needs num_sifr strictly greater than package.count to stay in
bounds -- num_sifr == package.count passes the existing check but
still overflows by one element.

This is exactly the case probe()'s existing num_sifr++ workaround
("Some DSDT-s have an off-by-one bug where the SINF package count is
one higher than the SQTY reported value") is written to accommodate:
when a DSDT's SINF package count equals SQTY+1, the workaround makes
num_sifr equal to package.count, which is precisely the boundary that
overflows here. Found via UBSan (array-index-out-of-bounds) on
hardware where HKEY.SQTY returns 37 and HKEY.SINF()'s package has 38
elements: num_sifr becomes 38 after the += 1 workaround, the loop
correctly fills indices 0..37, and the sentinel write then targets
index 38, one past the end -- a silent 4-byte heap overflow on kernels
without CONFIG_UBSAN.

Tightening the rejection check to num_sifr <= package.count would
avoid the overflow but breaks probe() entirely on exactly this
hardware, since num_sifr == package.count is the case the off-by-one
workaround exists to support. Nothing else in the driver reads this
sentinel value back, so simply skip the write when there is no room
for it instead.
Published: 2026-09-11
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Memory corruption (heap overflow)
Action: Patch ASAP
AI Analysis

Impact

The kernel driver for Panasonic laptops performs a sentinel write beyond the bounds of the pcc->sinf array, a CWE-787 vulnerability. This silent 4‑byte heap overflow can corrupt heap metadata and potentially allow a local user to cause undefined kernel behavior or privilege escalation. The bug arises when pcc->num_sifr equals the SINF package count, a case intentionally accepted by an off‑by‑one workaround for certain DSDT configurations. The vulnerability does not provide an immediate code‑execution path, but the resulting memory corruption poses a moderate risk if exploited. By inference, this overflow could be triggered through crafted ACPI tables presented to the driver.

Affected Systems

The vulnerability exists in the Linux kernel's platform/x86 panasonic‑laptop driver. All kernel versions before the patch that include this driver are affected. In particular, older kernels that ship with the off‑by‑one workaround for Panasonic laptops' ACPI configuration are at risk. Users running Linux on Panasonic laptops or configuring this driver should verify their kernel version against the patch change.

Risk and Exploitability

The CVSS score is 4.1, classified as intermediate severity. The EPSS score is <1%, indicating a low likelihood of exploitation. The vulnerability is not listed in CISA's KEV catalog, indicating a low current exploitation probability. The likely attack vector would require local access to craft malicious ACPI or DSDT data; no public exploits have been reported. By inference, an attacker would need the ability to modify system ACPI tables to trigger the overflow. Patch deployment remains the best mitigation strategy, while other mitigations should be considered only if patching is not immediately feasible.

Generated by OpenCVE AI on September 13, 2026 at 07:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release that includes the CVE‑2026‑89436 fix.
  • If an updated kernel cannot be installed, disable the ACPI driver or restrict ACPI access to trusted users.
  • Monitor kernel logs for signs of heap corruption or UBSan reports, which may indicate a related issue.

Generated by OpenCVE AI on September 13, 2026 at 07:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 12 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: platform/x86: panasonic-laptop: Fix sentinel write past pcc->sinf[] acpi_pcc_retrieve_biosdata() rejects SINF packages only when pcc->num_sifr is strictly less than hkey->package.count, then unconditionally writes a trailing sentinel at pcc->sinf[hkey->package.count]. But pcc->sinf[] is allocated with exactly pcc->num_sifr elements (valid indices 0..num_sifr-1), so that write needs num_sifr strictly greater than package.count to stay in bounds -- num_sifr == package.count passes the existing check but still overflows by one element. This is exactly the case probe()'s existing num_sifr++ workaround ("Some DSDT-s have an off-by-one bug where the SINF package count is one higher than the SQTY reported value") is written to accommodate: when a DSDT's SINF package count equals SQTY+1, the workaround makes num_sifr equal to package.count, which is precisely the boundary that overflows here. Found via UBSan (array-index-out-of-bounds) on hardware where HKEY.SQTY returns 37 and HKEY.SINF()'s package has 38 elements: num_sifr becomes 38 after the += 1 workaround, the loop correctly fills indices 0..37, and the sentinel write then targets index 38, one past the end -- a silent 4-byte heap overflow on kernels without CONFIG_UBSAN. Tightening the rejection check to num_sifr <= package.count would avoid the overflow but breaks probe() entirely on exactly this hardware, since num_sifr == package.count is the case the off-by-one workaround exists to support. Nothing else in the driver reads this sentinel value back, so simply skip the write when there is no room for it instead.
Title platform/x86: panasonic-laptop: Fix sentinel write past pcc->sinf[]
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-13T06:29:20.944Z

Reserved: 2026-09-11T19:38:34.702Z

Link: CVE-2026-89436

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:23.847

Modified: 2026-09-13T07:17:08.367

Link: CVE-2026-89436

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-11T19:43:06Z

Links: CVE-2026-89436 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T07:45:16Z

Weaknesses