Cloudanix VulnDB

CVE-2026-23129

Medium · 5.5

CVSS

5.5

EPSS

0.1%

Published

Feb 14, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux kernel's handling of certain hardware timing registrations could let the same component register more than once, leading to warnings or instability when components later unregister.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The dpll registration helpers silently accepted duplicate pin registrations with identical parameters, incrementing an internal refcount on subsequent calls while allocating a single dpll_pin_registration object; the first unregistration freed the object and later unregistrations triggered kernel warnings.

Why it matters to the business

Systems using the affected dpll subsystem may experience unexpected kernel warnings or instability when drivers or user-space components attempt repeated registrations, increasing operational overhead for kernel log monitoring and potential service restarts on affected Linux deployments.

How an attack unfolds

An attacker with local access loads or triggers a driver or application that calls the registration helpers multiple times with the same pin, ops, priv, and cookie; the kernel accepts the duplicates until unregistration occurs, at which point warnings are emitted.

How to fix it

Update the Linux kernel package to the fixed version that enforces an -EEXIST return on duplicate registration attempts; apply the update through the distribution's package manager and reboot if required.

How to confirm the fix worked

Confirm the installed kernel version matches or exceeds the fixed release; attempt duplicate registration in a test environment and verify that -EEXIST is returned instead of success; monitor kernel logs for absence of the previous warning pattern after unregistration.

Typical attack path

  1. Obtain local access or code execution on the target system
  2. Identify or load a component that interacts with dpll pin registration
  3. Invoke duplicate registration calls with matching parameters
  4. Trigger unregistration to produce kernel warnings

How to detect it

Search kernel logs for dpll-related registration warnings or WARN_ON patterns triggered during module unload or pin unregistration; inspect source or traces of drivers calling dpll_xa_ref_pin_add or similar helpers for repeated calls with identical arguments.

What your security team should do

  • Prioritize patching affected kernel packages on all systems exposing dpll interfaces
  • Review driver and application code for repeated registration calls before deploying updates
  • Enable kernel warning logging and alerting to detect any residual instances prior to patching

The record

In the Linux kernel, the following vulnerability has been resolved: dpll: Prevent duplicate registrations Modify the internal registration helpers dpll_xa_ref_{dpll,pin}_add() to reject duplicate registration attempts. Previously, if a caller attempted to register the same pin multiple times (with the same ops, priv, and cookie) on the same device, the core silently increments the reference count and return success. This behavior is incorrect because if the caller makes these duplicate registrations then for the first one dpll_pin_registration is allocated and for others the associated dpll_pin_ref.refcount is incremented. During the first unregistration the associated dpll_pin_registration is freed and for others WARN is fired. Fix this by updating the logic to return `-EEXIST` if a matching registration is found to enforce a strict "register once" policy.

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 6.7.0 6.12.68
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-azure 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.27.1.160000.2.8
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.27.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.27.1

Related vulnerabilities