CVE-2026-72179 in Linux
Summary
by MITRE • 08/15/2026
In the Linux kernel, the following vulnerability has been resolved:
riscv: cacheinfo: Fix node reference leak in populate_cache_leaves
Currently, the while loop drops the reference to prev in each iteration. If the loop terminates early due to a break, the final of_node_put(np) correctly drops the reference to the current node.
However, if the loop terminates naturally because np == NULL, calling of_node_put(np) is a no-op. This leaves the last valid node stored in prev without its reference dropped, resulting in a node reference leak.
Fix this by changing the final `of_node_put(np)` to `of_node_put(prev)`.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Analysis
by VulDB Data Team • 08/15/2026
This vulnerability exists in the riscv architecture implementation within the Linux kernel's cacheinfo subsystem where a reference leak occurs during device tree node traversal. The flaw manifests in the populate_cache_leaves function where the code processes device tree nodes to populate cache information for RISC-V processors. The issue stems from improper handling of device tree node references within a while loop structure that iterates through cache leaf nodes.
The technical implementation problem occurs when traversing device tree nodes representing cache hierarchies. During each iteration of the while loop, the code properly releases the reference to the previous node using of_node_put(prev) but fails to correctly handle the termination condition. When the loop terminates naturally due to np == NULL, the code attempts to call of_node_put(np) which becomes a no-op since np is NULL, leaving the previously stored valid node reference in prev unreleased.
The operational impact of this vulnerability represents a memory leak within the kernel's device tree processing subsystem that could lead to gradual memory exhaustion over time. This issue affects systems running RISC-V architecture with cache information discovery mechanisms, potentially causing system instability and performance degradation as leaked references accumulate. The vulnerability directly relates to CWE-404, which describes improper resource management leading to memory leaks in operating system components.
The fix implemented addresses this by changing the final reference release from of_node_put(np) to of_node_put(prev), ensuring that when the loop terminates naturally, the last valid node reference properly gets released. This modification aligns with proper kernel programming practices for device tree node reference management and follows ATT&CK technique T1070.004 related to bypassing security tools through kernel-level memory manipulation.
This vulnerability demonstrates the critical importance of proper reference counting in kernel space device tree traversal operations, particularly in architecture-specific implementations where hardware cache hierarchies must be properly enumerated. The fix ensures that all valid node references are properly released regardless of loop termination conditions, maintaining proper resource management and preventing potential denial of service scenarios through memory exhaustion.