Use of Uninitialized Resource Affecting libperf package, versions <0:5.14.0-427.13.1.el9_4


Severity

Recommended
high

Based on Red Hat Enterprise Linux security rating.

Threat Intelligence

EPSS
0.02% (5th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-RHEL9-LIBPERF-16062708
  • published15 Apr 2026
  • disclosed1 Oct 2025

Introduced: 1 Oct 2025

CVE-2023-53496  (opens in a new tab)
CWE-908  (opens in a new tab)

How to fix?

Upgrade RHEL:9 libperf to version 0:5.14.0-427.13.1.el9_4 or higher.
This issue was patched in RHSA-2024:2394.

NVD Description

Note: Versions mentioned in the description apply only to the upstream libperf package and not the libperf package as distributed by RHEL. See How to fix? for RHEL:9 relevant fixed versions and status.

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

x86/platform/uv: Use alternate source for socket to node data

The UV code attempts to build a set of tables to allow it to do bidirectional socket<=>node lookups.

But when nr_cpus is set to a smaller number than actually present, the cpu_to_node() mapping information for unused CPUs is not available to build_socket_tables(). This results in skipping some nodes or sockets when creating the tables and leaving some -1's for later code to trip. over, causing oopses.

The problem is that the socket<=>node lookups are created by doing a loop over all CPUs, then looking up the CPU's APICID and socket. But if a CPU is not present, there is no way to start this lookup.

Instead of looping over all CPUs, take CPUs out of the equation entirely. Loop over all APICIDs which are mapped to a valid NUMA node. Then just extract the socket-id from the APICID.

This avoid tripping over disabled CPUs.

CVSS Base Scores

version 3.1