VYPR
Unrated severityNVD Advisory· Published Oct 22, 2025· Updated Apr 15, 2026

CVE-2023-53731

CVE-2023-53731

Description

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

netlink: fix potential deadlock in netlink_set_err()

syzbot reported a possible deadlock in netlink_set_err() [1]

A similar issue was fixed in commit 1d482e666b8e ("netlink: disable IRQs for netlink_lock_table()") in netlink_lock_table()

This patch adds IRQ safety to netlink_set_err() and __netlink_diag_dump() which were not covered by cited commit.

[1]

WARNING: possible irq lock inversion dependency detected 6.4.0-rc6-syzkaller-00240-g4e9f0ec38852 #0 Not tainted

syz-executor.2/23011 just changed the state of lock: ffffffff8e1a7a58 (nl_table_lock){.+.?}-{2:2}, at: netlink_set_err+0x2e/0x3a0 net/netlink/af_netlink.c:1612 but this lock was taken by another, SOFTIRQ-safe lock in the past: (&local->queue_stop_reason_lock){..-.}-{2:2}

and interrupts could create inverse lock ordering between them.

other info that might help us debug this: Possible interrupt unsafe locking scenario:

CPU0 CPU1 ---- ---- lock(nl_table_lock); local_irq_disable(); lock(&local->queue_stop_reason_lock); lock(nl_table_lock);

lock(&local->queue_stop_reason_lock);

* DEADLOCK *

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A potential deadlock in netlink_set_err() and __netlink_diag_dump() due to missing IRQ safety is fixed by adding local_bh_disable/enable.

Root

Cause

A potential deadlock was discovered in the Linux kernel's netlink subsystem, specifically in the netlink_set_err() function. The issue arises because nl_table_lock was taken without disabling interrupts, while another lock (&local->queue_stop_reason_lock) is taken in a SOFTIRQ context. This creates an inverse lock ordering scenario where an interrupt can cause a deadlock [1][2].

Exploitation

Conditions

The vulnerability can be triggered by any local user (unprivileged) who can cause a netlink error to be set via netlink_set_err() or trigger a netlink diagnostic dump via __netlink_diag_dump(). No special privileges are required beyond being able to interact with netlink sockets. A successful deadlock would result in a denial of service (system hang) for all CPUs [1].

Impact

An attacker achieving this deadlock would cause a complete denial of service, making the system unresponsive. There is no evidence of memory corruption or privilege escalation, only a system hang due to lock inversion [1].

Mitigation

The fix, backported to multiple stable kernel versions, adds local_bh_disable() / local_bh_enable() around the lock acquisitions in netlink_set_err() and __netlink_diag_dump(), ensuring that interrupts are disabled while holding nl_table_lock [1][2][3][4]. Users should apply the latest stable kernel updates to address CVE-2023-53731.

AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

2

Patches

9

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

9

News mentions

0

No linked articles in our index yet.