CVE-2023-54111 in Linuxinfo

Summary

by MITRE • 12/24/2025

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

pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups

of_find_node_by_phandle() returns a node pointer with refcount incremented, We should use of_node_put() on it when not needed anymore. Add missing of_node_put() to avoid refcount leak.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 01/03/2026

The vulnerability identified as CVE-2023-54111 represents a memory management issue within the Linux kernel's pin control subsystem, specifically affecting the rockchip platform support. This flaw resides in the pinctrl driver implementation for rockchip SoCs, where improper reference counting leads to resource leaks that can accumulate over time and potentially impact system stability. The vulnerability manifests in the rockchip_pinctrl_parse_groups function, which handles parsing of pin group configurations from device tree descriptions. When the function processes pin group definitions, it employs the of_find_node_by_phandle() API call to locate nodes within the device tree based on phandle references. This API function intentionally increments the reference count of the returned node pointer to ensure the node remains valid during the current operation. However, the implementation fails to properly decrement this reference count when the node pointer is no longer needed, creating a resource leak that can persist throughout the system's operational lifetime.

The technical nature of this vulnerability aligns with CWE-404, which describes improper resource management where a resource is acquired but not properly released, and specifically relates to reference counting errors in kernel space memory management. The flaw operates at the kernel level within the device tree parsing subsystem, where the rockchip pinctrl driver processes hardware configuration information to manage pin multiplexing and function selection for various peripherals. When the of_find_node_by_phandle() function returns a node pointer, it expects the caller to properly release the reference using of_node_put() to decrement the internal reference counter. The missing of_node_put() call creates a situation where node references remain active even after they are no longer required, leading to gradual accumulation of unreleased references that can eventually cause memory pressure and system instability. This type of resource leak is particularly concerning in embedded systems and mobile devices where memory resources are constrained and long-running kernel processes are common.

The operational impact of this vulnerability extends beyond simple memory consumption issues to potentially affect system reliability and performance in embedded Linux environments. The rockchip platform family includes popular SoCs used in various devices including single-board computers, embedded systems, and mobile platforms where proper pin control is essential for hardware functionality. When reference counts are not properly managed, the kernel's device tree parsing mechanism can suffer from progressive resource exhaustion, which may lead to reduced system responsiveness, increased memory allocation failures, or even system crashes under sustained load conditions. The vulnerability is particularly problematic in systems where the pinctrl subsystem is frequently accessed during boot processes or runtime configuration changes, as these operations can trigger multiple instances of the leak. Attackers could potentially exploit this vulnerability by repeatedly triggering pin group parsing operations to accelerate memory consumption, though the direct attack surface is limited since this is a kernel-level memory management issue rather than a direct execution vulnerability.

Mitigation strategies for CVE-2023-54111 primarily focus on applying the upstream kernel patch that correctly implements the of_node_put() call at the appropriate points in the rockchip_pinctrl_parse_groups function. System administrators and device manufacturers should ensure their Linux kernel versions include this fix, particularly those running on rockchip-based platforms. The patch implementation follows established kernel development practices for proper reference counting and resource management, ensuring that all node pointers obtained through of_find_node_by_phandle() are appropriately released. Additionally, system monitoring should include tracking of kernel memory usage patterns and device tree parsing operations to detect potential resource leaks in deployed systems. This vulnerability demonstrates the importance of rigorous kernel code review processes and adherence to established kernel programming guidelines, particularly around reference counting in device tree operations. The fix aligns with ATT&CK framework tactic TA0043 (Resource Development) and technique T1587.001 (Stage Capabilities) by ensuring proper resource management, which is fundamental to maintaining system integrity and preventing resource exhaustion attacks that could impact availability. Organizations should also implement regular kernel updates and security audits to prevent similar issues from arising in other subsystems where similar reference counting patterns may exist.

Responsible

Linux

Reservation

12/24/2025

Disclosure

12/24/2025

Moderation

accepted

CPE

ready

EPSS

0.00184

KEV

no

Activities

very low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!