Skip to main content

Linux Kernel CVE-2025-39960

HIGH
2025-10-09 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
6.6 MEDIUM

Local unprivileged trigger (AV:L/PR:L/AC:L); confirmed effect is driver denial (A:H) while uninitialized-stack read gives only limited, non-guaranteed info/integrity impact (C:L/I:L).

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 08:15 vuln.today
CVE Published
Oct 09, 2025 - 13:15 nvd
HIGH 7.8

DescriptionNVD

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

gpiolib: acpi: initialize acpi_gpio_info struct

Since commit 7c010d463372 ("gpiolib: acpi: Make sure we fill struct acpi_gpio_info"), uninitialized acpi_gpio_info struct are passed to __acpi_find_gpio() and later in the call stack info->quirks is used in acpi_populate_gpio_lookup. This breaks the i2c_hid_cpi driver:

[ 58.122916] i2c_hid_acpi i2c-UNIW0001:00: HID over i2c has not been provided an Int IRQ [ 58.123097] i2c_hid_acpi i2c-UNIW0001:00: probe with driver i2c_hid_acpi failed with error -22

Fix this by initializing the acpi_gpio_info pass to __acpi_find_gpio()

AnalysisAI

Local privilege escalation and kernel memory disclosure in the Linux kernel's GPIO ACPI subsystem (gpiolib) affects development builds 6.17-rc1 through 6.17-rc6, where an uninitialized acpi_gpio_info structure is passed to __acpi_find_gpio() and its stale info->quirks field is later consumed in acpi_populate_gpio_lookup(). The regression, introduced by commit 7c010d463372, breaks the i2c_hid_acpi driver (probe fails with -EINVAL / 'has not been provided an Int IRQ') and causes the kernel to act on uninitialized stack memory. No public exploit identified at time of analysis, and EPSS is low at 0.14% (4th percentile), consistent with a hard-to-weaponize local memory-safety regression confined to release candidates.

Technical ContextAI

The affected component is gpiolib's ACPI glue layer (drivers/gpio/gpiolib-acpi.c), which resolves GPIO resources described in ACPI firmware tables for on-board peripherals such as I2C HID touchpads/sensors (e.g. the UNIW0001 device seen in the log). The struct acpi_gpio_info carries fields including quirks that steer how a GPIO lookup is populated. Because the caller allocated this struct on the stack without zero-initializing it, __acpi_find_gpio() and acpi_populate_gpio_lookup() read whatever garbage was previously on the stack, most visibly corrupting the interrupt-vs-GPIO decision path. The root-cause class is a use of uninitialized variable / uninitialized stack memory (CWE-457, closely related to CWE-908 Use of Uninitialized Resource); the NVD-provided CWE is N/A, so this classification is inferred from the description, not vendor-assigned.

RemediationAI

Upstream fix available (commits 19c839a98c73 and 27d94a2a52cb) - the patch zero-initializes the acpi_gpio_info struct before it is passed to __acpi_find_gpio(); a released patched tagged version is not independently confirmed from the input, so update to the first mainline 6.17-rc that includes these commits (or a later stable 6.17) built from the kernel.org stable tree. Because only release candidates are affected, the simplest remediation is to avoid running the vulnerable 6.17-rc1..rc6 builds in any exposed role and roll back to a stable kernel series (6.16.x or earlier) until a patched 6.17 build is available; this fully removes exposure with no functional trade-off. If a vulnerable rc must be kept for testing, restrict local/interactive access to the host, since exploitation requires local privileges. Reference the upstream commits above for cherry-picking into custom kernel builds.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected

Share

CVE-2025-39960 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy