Skip to main content

Linux Kernel CVE-2026-52939

| EUVDEUVD-2026-38709 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-06-24 Linux GHSA-v4gx-744x-jr2m
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local access with low privileges (unprivileged AF_RDS sendmsg) suffices; no confidentiality or integrity impact, only deterministic kernel panic DoS.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 08, 2026 - 19:23 vuln.today
CVSS changed
Jul 08, 2026 - 19:22 NVD
5.5 (MEDIUM)
Patch available
Jun 24, 2026 - 09:16 EUVD
CVE Published
Jun 24, 2026 - 07:14 nvd
MEDIUM 5.5
CVE Published
Jun 24, 2026 - 07:14 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

net/rds: fix NULL deref in rds_ib_send_cqe_handler() on masked atomic completion

rds_ib_xmit_atomic() always programs a masked atomic opcode (IB_WR_MASKED_ATOMIC_CMP_AND_SWP or IB_WR_MASKED_ATOMIC_FETCH_AND_ADD) for every RDS atomic cmsg. But the completion-side switch in rds_ib_send_unmap_op() only handles the non-masked opcodes, so a masked atomic completion falls through to default and returns rm == NULL while send->s_op is left set. rds_ib_send_cqe_handler() then dereferences the NULL rm via rm->m_final_op, oopsing in softirq context. An unprivileged AF_RDS sendmsg() of an atomic cmsg over an active RDS/IB connection triggers it; on hardware that natively accepts masked atomics (mlx4, mlx5) no extra setup is needed.

RDS/IB: rds_ib_send_unmap_op: unexpected opcode 0xd in WR! Oops: general protection fault [#1] SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000190-0x0000000000000197] RIP: rds_ib_send_cqe_handler+0x25c/0xb10 (net/rds/ib_send.c:282) Call Trace: <IRQ> rds_ib_send_cqe_handler (net/rds/ib_send.c:282) poll_scq (net/rds/ib_cm.c:274) rds_ib_tasklet_fn_send (net/rds/ib_cm.c:294) tasklet_action_common (kernel/softirq.c:943) handle_softirqs (kernel/softirq.c:573) run_ksoftirqd (kernel/softirq.c:479) </IRQ> Kernel panic - not syncing: Fatal exception in interrupt

Handle the masked atomic opcodes in the same case as the non-masked ones: they map to the same struct rds_message.atomic union member, so the existing container_of()/rds_ib_send_unmap_atomic() body is correct for them.

AnalysisAI

NULL pointer dereference in the Linux kernel RDS/InfiniBand subsystem allows an unprivileged local user to trigger a kernel panic by sending an atomic cmsg over an active RDS/IB connection. The completion handler rds_ib_send_unmap_op() lacks switch cases for masked atomic opcodes (IB_WR_MASKED_ATOMIC_CMP_AND_SWP, IB_WR_MASKED_ATOMIC_FETCH_AND_ADD), returning rm=NULL while the send operation remains flagged, leading to a fatal NULL dereference at rm->m_final_op in softirq context. No public exploit has been identified and EPSS is 0.16% (6th percentile), but the crash is deterministic and reproducible on any system with mlx4/mlx5 InfiniBand hardware running an unpatched kernel with active RDS/IB connections.

Technical ContextAI

The vulnerability resides in net/rds/ib_send.c within the RDS (Reliable Datagram Sockets) over InfiniBand transport layer. RDS is a high-throughput messaging protocol used primarily in HPC and clustered database environments. The transmit path rds_ib_xmit_atomic() always issues work requests using masked atomic opcodes (opcode 0xd for IB_WR_MASKED_ATOMIC_CMP_AND_SWP, IB_WR_MASKED_ATOMIC_FETCH_AND_ADD), but the completion-side switch in rds_ib_send_unmap_op() only handles the corresponding non-masked opcodes. The missing cases cause rm to remain NULL while send->s_op stays populated; rds_ib_send_cqe_handler() then unconditionally dereferences rm->m_final_op at offset 0x190, triggering KASAN null-ptr-deref and a kernel panic in interrupt context. This is a CWE-476 (NULL Pointer Dereference) root cause. The bug is exploitable only on mlx4 (ConnectX-2/3) and mlx5 (ConnectX-4+) InfiniBand adapters that natively accept masked atomic work requests. CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*. Introduced with commit 20c72bd5f5f9 in Linux 2.6.37.

RemediationAI

Upgrade to a patched stable kernel release: 5.10.259+ for 5.10.x users, 5.15.210+ for 5.15.x, 6.1.176+ for 6.1.x, 6.6.143+ for 6.6.x, 6.12.94+ for 6.12.x, 6.18.36+ for 6.18.x, or 7.0.13+/7.1+ for current trees. Individual stable-tree patches are available at https://git.kernel.org/stable/c/ using the commit hashes listed in affected product data. Where immediate kernel patching is not possible, blacklisting the rds module (echo 'blacklist rds' > /etc/modprobe.d/rds-disable.conf && rmmod rds_rdma rds) eliminates the attack surface entirely; this disables all RDS socket communication, which is only a concern in environments actively using AF_RDS applications such as Oracle RAC. Alternatively, restricting AF_RDS socket creation to privileged users via seccomp-bpf policies or reducing user namespace capabilities raises the privilege bar but does not fully prevent exploitation by legitimate low-privileged service accounts.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-52939 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy