← All Advisories

CVE-2026-98360

Last refreshed2026-10-09

Status: UPDATED  |  Advisory ID: CVE-2026-98360

Key Details

CVECVE-2026-98360
CVSS Score / Version7.0 (High) / CVSS v3.1
Updated2026-10-07
CVSS VectorCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Proseattack vector is local; attack complexity is high; privileges required is low; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is high; availability impact is high.
Affected productsLinux Kernel

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SubsystemsOT Supporting Infrastructure
SectorsAll Sectors

What to Know

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

RDMA/rxe: insert mcg into mcg_tree only after rxe_mcast_add() succeeds

rxe_get_mcg() publishes a newly allocated multicast group in

rxe->mcg_tree before programming the backing Ethernet multicast address

with rxe_mcast_add(), which runs outside mcg_lock. A local userspace

RDMA client reaches this path with ATTACH_MCAST on a UD QP; if

rxe_mcast_add() then returns an error (for example -ENODEV when the

backing netdev has been removed, or a propagated dev_mc_add() error),

the unwind frees the published group without removing it from the tree.

A later lookup of the same MGID dereferences the freed struct rxe_mcg

from __rxe_lookup_mcg().

Fix this by keeping the new mcg private until rxe_mcast_add() succeeds.

Split the tree publication into __rxe_publish_mcg(), call rxe_mcast_add()

before taking the tree reference, and free the still-private mcg on

failure. Because the group is never visible in mcg_tree until the

multicast address is programmed, no concurrent caller can look it up or

attach a QP to a group that is about to be torn down, so the error path

needs no conditional unwind. If another caller publishes the same MGID

while the address is being programmed, the post-add re-check under

mcg_lock finds the winner; this caller then drops its private object and

balances its own rxe_mcast_add() with rxe_mcast_del() before returning

the winner.

Reproduced by forcing the rxe_mcast_add() error return under KASAN:

without the change the next attach to the same MGID reports a

slab-use-after-free in __rxe_lookup_mcg(); with it the forced failure

returns cleanly. A no-injection attach/detach regression, including a

two-QP shared join/leave and re-attach, stays KASAN- and leak-clean. (NVD)

What to Do

Monitor Linux's web page for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-98360
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-98360