CVE-2026-63977 in Linuxinfo

Summary

by MITRE • 07/19/2026

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

dpll: zl3073x: use __dpll_device_change_ntf() and remove change_work

The change_work was introduced to send device change notifications from DPLL device callbacks without deadlocking on dpll_lock, since the callbacks are already invoked under that lock. Now that __dpll_device_change_ntf() is exported for callers that already hold dpll_lock, use it directly and remove the change_work infrastructure entirely.

This eliminates a race condition where change_work could be re-scheduled after cancel_work_sync() during device teardown, potentially causing the handler to dereference a freed or NULL dpll_dev pointer.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 07/19/2026

The vulnerability addressed in this linux kernel patch relates to a race condition within the digital phase-locked loop dpll subsystem, specifically affecting the zl3073x driver implementation. This issue manifests in the improper handling of device change notifications during the teardown process of dpll devices, creating potential for use-after-free conditions and null pointer dereferences that could compromise system stability and security.

The technical flaw stems from the implementation of a workqueue infrastructure called change_work that was designed to prevent deadlocks when sending device change notifications from within dpll device callbacks. These callbacks execute under the protection of dpll_lock, making direct notification mechanisms problematic due to potential lock ordering issues. However, the introduction of __dpll_device_change_ntf() as an exported function capable of handling notifications while already holding dpll_lock renders the change_work mechanism redundant and introduces a race condition during device destruction.

During normal operation, the dpll subsystem manages phase-locked loop devices that synchronize clock signals in communication systems and embedded platforms. The zl3073x driver specifically handles a particular class of dpll hardware components used for precise timing control. When a device is being torn down or removed from the system, the kernel attempts to cancel any pending work items through cancel_work_sync() calls. However, the race condition occurs when change_work gets rescheduled after this cancellation process, leading to a scenario where the notification handler might attempt to access a dpll_dev structure that has already been freed or set to NULL.

This vulnerability directly maps to CWE-367: Time-of-Check to Time-of-Use (TOCTOU) Race Condition and CWE-415: Double Free, as the improper handling of workqueue cleanup creates opportunities for accessing invalid memory locations. The security implications extend beyond mere system stability concerns, as malicious actors could potentially exploit this race condition to cause system crashes or potentially execute arbitrary code through controlled memory corruption. The issue affects systems running linux kernel versions where the dpll subsystem is active and managing hardware timing devices.

The resolution involves removing the change_work infrastructure entirely and directly utilizing the newly exported __dpll_device_change_ntf() function that properly handles notifications while holding the necessary locks, eliminating the race condition entirely. This approach aligns with best practices for kernel development by avoiding unnecessary workqueue mechanisms when direct lock-holding functions are available, reducing complexity and potential failure points in the subsystem.

From an operational perspective, this vulnerability affects embedded systems, networking equipment, and industrial control systems that rely on precise timing synchronization through dpll devices. The impact ranges from system instability and service disruption to potential denial-of-service conditions that could affect critical infrastructure operations. Organizations maintaining linux-based systems with dpll support should prioritize patching to address this race condition and prevent potential exploitation scenarios.

The mitigation strategy focuses on applying the kernel update that removes the problematic change_work implementation and transitions to the direct notification mechanism. System administrators should verify their kernel versions and ensure all affected platforms receive the appropriate security patches. Monitoring for system instability or unexpected device removal behaviors can help identify potential exploitation attempts, though the vulnerability primarily manifests as system crashes rather than covert exploitation mechanisms.

This fix demonstrates proper kernel subsystem management by eliminating redundant code paths that introduce complexity and potential failure modes while maintaining the intended functionality of dpll device notifications. The change reflects good software engineering practices in kernel development, where unnecessary abstractions are removed when better alternatives exist, reducing attack surface and improving overall system reliability and security posture according to established linux kernel security guidelines and best practices for concurrent programming in kernel space environments.

Responsible

Linux

Reservation

07/19/2026

Disclosure

07/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!