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

pinctrl: spacemit: fix NULL check in spacemit_pin_set_config

spacemit_pin_set_config() looks up the per-pin descriptor with
spacemit_get_pin() then checks the wrong variable for failure:

const struct spacemit_pin *spin = spacemit_get_pin(pctrl, pin);
...
if (!pin)
return -EINVAL;

reg = spacemit_pin_to_reg(pctrl, spin->pin);

pin is an unsigned int pin id, where 0 (GPIO_0 / gmac0_rxdv on K3) is a
valid pin, so rejecting it here drops the PAD config write for the first
pin of every group. On K3 Pico-ITX the GMAC RGMII group lists pin 0 as
its first entry, so its drive-strength / bias configuration was silently
ignored.

The intended guard is against spacemit_get_pin() returning NULL when the
pin id isn't in the SoC's pin table. Check spin instead, which both
restores PAD setup for pin 0 and prevents a NULL deref on spin->pin.
Published: 2026-08-28
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (kernel fault or misconfiguration)
Action: Patch
AI Analysis

Impact

The spacemit pin controller driver for Linux harbors a NULL pointer dereference in the spacemit_pin_set_config function. It incorrectly checks the local pin identifier instead of the result of spacemit_get_pin(), which can cause the driver to skip pin 0 configuration or, if the lookup fails, dereference a NULL pointer. The fault can lead to a kernel panic or, more subtly, to essential PAD settings being ignored—resulting in poor electrical behavior of the SoC’s pins.

Affected Systems

All Linux kernels that include the spacemit driver before the fixes introduced in commits 09c816e5c4d3a8d6d6e4b7537433e5e98505d934 and 7a551951ebeb5b3f05bdb04a73d4593869c984c4 are vulnerable. Systems with SoCs that use the spacemit pinctrl—such as various K3 boards—are affected if they run an unpatched kernel containing this driver.

Risk and Exploitability

The CVSS base score of 5.5 indicates moderate impact, and the EPSS score of less than 1% suggests a very low current probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog. An attacker would need local access to trigger the fault, typically during device configuration or by processing a crafted packet that forces the driver to configure pin 0. Given the low EPSS, the likelihood of widespread exploitation is small, but the potential for a kernel panic or silent mis‑configuration warrants remediation.

Generated by OpenCVE AI on August 31, 2026 at 14:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the running Linux kernel to a version that contains the spacemit pinctrl patch (commits 09c816e5c4d3a8d6d6e4b7537433e5e98505d934 or later).
  • If an immediate kernel update cannot be applied, configure the system to avoid assigning pin 0 to critical functionality—replace or re‑route any essential signals to a different pin.
  • As a temporary workaround, disable the spacemit pinctrl module for the affected device by adding the module to /etc/modprobe.d/blacklist.conf or using the initramfs configuration, until a patched kernel becomes available.

Generated by OpenCVE AI on August 31, 2026 at 14:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Low


Fri, 28 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Fri, 28 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: pinctrl: spacemit: fix NULL check in spacemit_pin_set_config spacemit_pin_set_config() looks up the per-pin descriptor with spacemit_get_pin() then checks the wrong variable for failure: const struct spacemit_pin *spin = spacemit_get_pin(pctrl, pin); ... if (!pin) return -EINVAL; reg = spacemit_pin_to_reg(pctrl, spin->pin); pin is an unsigned int pin id, where 0 (GPIO_0 / gmac0_rxdv on K3) is a valid pin, so rejecting it here drops the PAD config write for the first pin of every group. On K3 Pico-ITX the GMAC RGMII group lists pin 0 as its first entry, so its drive-strength / bias configuration was silently ignored. The intended guard is against spacemit_get_pin() returning NULL when the pin id isn't in the SoC's pin table. Check spin instead, which both restores PAD setup for pin 0 and prevents a NULL deref on spin->pin.
Title pinctrl: spacemit: fix NULL check in spacemit_pin_set_config
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-08-28T06:48:57.479Z

Reserved: 2026-08-26T14:34:25.779Z

Link: CVE-2026-80648

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T08:16:49.800

Modified: 2026-08-28T08:16:49.800

Link: CVE-2026-80648

cve-icon Redhat

Severity : Low

Publid Date: 2026-08-28T00:00:00Z

Links: CVE-2026-80648 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T14:15:06Z

Weaknesses