Executive brief
A vulnerability was identified in the Linux kernel's software node component, which handles device property descriptions. A flaw in how the system checks memory boundaries could allow a local user to trigger an out-of-bounds memory access. This could lead to a system crash or the exposure of sensitive kernel information, potentially impacting system stability and data confidentiality.
Technical details
An out-of-bounds (OOB) read vulnerability exists in the Linux kernel within the 'drivers/base/swnode.c' file. The function software_node_get_reference_args() failed to properly validate the property length when retrieving the @index-th element of a reference array. Specifically, the original check 'index * sizeof(*ref) >= prop->length' did not account for the full size of the element being accessed, allowing an OOB access if a malformed property was provided. An attacker with local access could exploit this to read sensitive kernel memory or cause a kernel panic. The issue has been resolved by updating the boundary check to '((index + 1) * sizeof(*ref) > prop->length)'.
Affected products
- Linux Linux Kernel 5.0 to 5.10.239, 5.11 to 5.15.186, 5.16 to 6.1.142, 6.2 to 6.6.95, 6.7 to 6.12.35, 6.13 to 6.15.4
Timeline
- 2025-07-10: disclosed
- 2025-07-10: advisory
- 2025-04-15: patched: Initial patch commit in stable tree
References
- https://git.kernel.org/stable/c/142acd739eb6f08c148a96ae8309256f1422ff4b
- https://git.kernel.org/stable/c/31e4e12e0e9609850cefd4b2e1adf782f56337d6
- https://git.kernel.org/stable/c/4b3383110b6df48e0ba5936af2cb68d5eb6bd43b
- https://git.kernel.org/stable/c/56ce76e8d406cc72b89aee7931df5cf3f18db49d
- https://git.kernel.org/stable/c/7af18e42bdefe1dba5bcb32555a4d524fd504939
- https://git.kernel.org/stable/c/9324127b07dde8529222dc19233aa57ec810856c
- https://git.kernel.org/stable/c/f9397cf7bfb680799fb8c7f717c8f756384c3280