CVE-2026-52939

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

MEDIUM
5.5
CVSS Score
Published: June 24, 2026 at 07:14 AM UTC
Updated: July 8, 2026 at 07:25 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.37 ≤ v < 5.10.2592.6.37 ≤ v < 5.15.2102.6.37 ≤ v < 6.1.1762.6.37 ≤ v < 6.12.942.6.37 ≤ v < 6.18.362.6.37 ≤ v < 6.6.1432.6.37 ≤ v < 7.0.132.6.37 ≤ v < 7.15.11 ≤ v < 5.15.2105.16 ≤ v < 6.1.1766.13 ≤ v < 6.18.366.19 ≤ v < 7.0.136.2 ≤ v < 6.6.1436.7 ≤ v < 6.12.9420c72bd5f5f902e5a8745d51573699605bf8d21c7.1 rc17.1 rc27.1 rc37.1 rc47.1 rc57.1 rc67.1 rc7
Vendor states this is fixed in 0f22412a2f4fbbe0251c132abee045d15a90e5b6 (fixed)
Vendor states this is fixed in 0f7baa82a24813cdad0b06a6f8f07e4824af5ed5 (fixed)
Vendor states this is fixed in 34080db3e70ddf94c38512ad2331e3c3afca6cc1 (fixed)
Vendor states this is fixed in 4dd262f875e87653df50b138de1390ab0628e6b7 (fixed)
Vendor states this is fixed in 4fd34669558085bcb589aa2078a13b0ca79e360d (fixed)
Vendor states this is fixed in 6e4615164d185a26badb2f376a2449f4d174a5f0 (fixed)
Vendor states this is fixed in a0148342badd8c9b2e46551766a27cb76c82e715 (fixed)
Vendor states this is fixed in dcf458120add64c96a6ef5cf719340453f6e6abf (fixed)
Vendor states this is fixed in 2.6.37 (unaffected)
Vendor states this is fixed in 5.10.259 (unaffected)
Vendor states this is fixed in 5.15.210 (unaffected)
Vendor states this is fixed in 6.1.176 (unaffected)
Vendor states this is fixed in 6.12.94 (unaffected)
Vendor states this is fixed in 6.18.36 (unaffected)
Vendor states this is fixed in 6.6.143 (unaffected)
Vendor states this is fixed in 7.0.13 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card