CVE-2026-68357 in Linuxinfo

Summary

by MITRE • 08/10/2026

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

watchdog: pretimeout: Fix UAF in watchdog_unregister_governor()

When a watchdog governor is unregistered, it updates existing watchdog devices that were using this governor by falling back to `default_gov`.

If the governor being unregistered is currently set as `default_gov`, the `default_gov` is never cleared. This leads to 2 use-after-free issues: 1. New watchdog devices registered after this point will inherit the dangling `default_gov`. 2. Existing watchdog devices using the unregistered governor will have their `wdd->gov` reassigned to the dangling `default_gov`.

Fix the UAF by clearing `default_gov` if it matches the governor being unregistered.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 08/10/2026

The vulnerability described represents a critical use-after-free condition in the Linux kernel's watchdog subsystem that stems from improper handling of governor registration and unregistration operations. This flaw exists within the watchdog framework where multiple watchdog devices can be managed through different governors that dictate their behavior and operational parameters. The issue specifically occurs during the process of unregistering a watchdog governor, which is a fundamental operation in the kernel's device management architecture.

The technical implementation of this vulnerability involves a race condition and memory management error within the watchdog_unregister_governor function. When a watchdog governor is removed from the system, the kernel attempts to update all existing watchdog devices that were previously configured to use that governor by transitioning them to a default governor mechanism. However, the code fails to properly validate whether the governor being unregistered is currently serving as the default governor, creating a scenario where the default_gov pointer remains pointing to freed memory locations rather than being properly reset to NULL or a valid alternative.

This memory management failure manifests in two distinct but interconnected use-after-free scenarios that can lead to system instability and potential security exploitation. The first issue occurs when new watchdog devices are registered after the vulnerable unregistration operation, causing them to inherit a dangling pointer to what was previously the default governor, creating an invalid memory reference that could be exploited by malicious actors. The second scenario affects existing watchdog devices that were using the unregistered governor, where their internal governance references get reassigned to the freed memory location, potentially leading to kernel crashes or arbitrary code execution.

The operational impact of this vulnerability extends beyond simple system stability concerns into potential security implications within embedded systems and server environments that rely heavily on watchdog functionality for system monitoring and recovery. The watchdog subsystem is crucial for maintaining system reliability in critical infrastructure deployments, including industrial control systems, network equipment, and enterprise servers where automatic restart mechanisms are essential. When the default governor reference becomes invalid, it can cause cascading failures throughout the watchdog management framework, potentially leading to complete system lockups or unauthorized access through memory corruption exploitation techniques.

The fix for this vulnerability involves implementing proper pointer validation within the watchdog_unregister_governor function by explicitly checking whether the default_gov pointer matches the governor being unregistered. When such a match is detected, the code must clear the default_gov reference to prevent any further use of freed memory. This solution aligns with established security practices and follows the principle of proper resource management that prevents dangling pointer scenarios. The mitigation approach directly addresses the root cause by ensuring that memory references are properly invalidated when their underlying objects are freed, preventing the propagation of invalid pointers throughout the system.

This vulnerability demonstrates characteristics consistent with CWE-416 Use After Free and CWE-825 Uninitialized Pointer Dereference categories from the Common Weakness Enumeration catalog. The flaw operates within the ATT&CK framework under the T1059 Execution through code injection techniques, as memory corruption could potentially enable privilege escalation or arbitrary code execution. The fix represents a standard defensive programming practice that emphasizes proper resource lifecycle management and pointer validation, which are fundamental requirements for maintaining kernel stability and security in operating system implementations.

Responsible

Linux

Reservation

07/30/2026

Disclosure

08/10/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!