CVE-2023-53496

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-53496
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53496.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-53496
Downstream
Related
Published
2025-10-01T11:45:47Z
Modified
2025-10-15T06:56:08.615587Z
Summary
x86/platform/uv: Use alternate source for socket to node data
Details

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 nrcpus is set to a smaller number than actually present, the cputonode() mapping information for unused CPUs is not available to buildsocket_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.

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
8a50c58519271dd24ba760bb282875f6ad66ee71
Fixed
0d01a0c3046d1545391ef7bb1f114743d00e3793
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
8a50c58519271dd24ba760bb282875f6ad66ee71
Fixed
5290e88ba2c742ca77c5f5b690e5af549cfd8591

Affected versions

v6.*

v6.4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.5.1
v6.5.2
v6.5.3
v6.5.4
v6.6-rc1

Database specific

{
    "vanir_signatures": [
        {
            "deprecated": false,
            "signature_type": "Function",
            "target": {
                "file": "arch/x86/kernel/apic/x2apic_uv_x.c",
                "function": "build_socket_tables"
            },
            "signature_version": "v1",
            "digest": {
                "length": 2128.0,
                "function_hash": "310342545489834191708938217661824688301"
            },
            "id": "CVE-2023-53496-218dae36",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5290e88ba2c742ca77c5f5b690e5af549cfd8591"
        },
        {
            "deprecated": false,
            "signature_type": "Line",
            "target": {
                "file": "arch/x86/kernel/apic/x2apic_uv_x.c"
            },
            "signature_version": "v1",
            "digest": {
                "line_hashes": [
                    "250411041433682571555775834257941349626",
                    "301968013156926170902707170304972752781",
                    "31210979843346860751409869621256080717",
                    "185743601991782100667174084388981595436",
                    "7343784037746231912676446675314952208",
                    "309151633833182332695073261427510314558",
                    "141761492797289760298557368174471856532",
                    "241507219149144831221430660609940702992",
                    "280293274784786956404421787556106341826",
                    "293931257456313906283833241912474138336",
                    "100638797510923532758918256840236288155",
                    "97370887212912791081103888309020032826",
                    "238113534992159290679764413912809100400",
                    "70619649982972793007983581033556432081"
                ],
                "threshold": 0.9
            },
            "id": "CVE-2023-53496-3474df79",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5290e88ba2c742ca77c5f5b690e5af549cfd8591"
        },
        {
            "deprecated": false,
            "signature_type": "Line",
            "target": {
                "file": "arch/x86/kernel/apic/x2apic_uv_x.c"
            },
            "signature_version": "v1",
            "digest": {
                "line_hashes": [
                    "250411041433682571555775834257941349626",
                    "301968013156926170902707170304972752781",
                    "31210979843346860751409869621256080717",
                    "185743601991782100667174084388981595436",
                    "7343784037746231912676446675314952208",
                    "309151633833182332695073261427510314558",
                    "141761492797289760298557368174471856532",
                    "241507219149144831221430660609940702992",
                    "280293274784786956404421787556106341826",
                    "293931257456313906283833241912474138336",
                    "100638797510923532758918256840236288155",
                    "97370887212912791081103888309020032826",
                    "238113534992159290679764413912809100400",
                    "70619649982972793007983581033556432081"
                ],
                "threshold": 0.9
            },
            "id": "CVE-2023-53496-afd90371",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d01a0c3046d1545391ef7bb1f114743d00e3793"
        },
        {
            "deprecated": false,
            "signature_type": "Function",
            "target": {
                "file": "arch/x86/kernel/apic/x2apic_uv_x.c",
                "function": "build_socket_tables"
            },
            "signature_version": "v1",
            "digest": {
                "length": 2128.0,
                "function_hash": "310342545489834191708938217661824688301"
            },
            "id": "CVE-2023-53496-b868f0cd",
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d01a0c3046d1545391ef7bb1f114743d00e3793"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.5.0
Fixed
6.5.5