Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-98360

Опубликовано: 06 окт. 2026
Источник: redhat
CVSS3: 5.5
EPSS Низкий

Описание

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.

A flaw was found in the Linux kernel's Remote Direct Memory Access over Converged Ethernet (RDMA/rxe) driver. A local user can trigger a Denial of Service (DoS) or system crash by attempting to attach to a multicast group when network device operations fail. In this scenario, improper error handling frees the allocated multicast group structure while retaining a reference in the lookup tree, causing a use-after-free condition during subsequent lookups.

Отчет

A use-after-free flaw rated by Red Hat Product Security as MODERATE impact was found in the Linux kernel RDMA/rxe (Soft-RDMA over Ethernet) driver. When a local user with privileges to use RDMA devices attaches a user-space UD queue pair to a multicast group (ATTACH_MCAST), rxe_get_mcg() publishes the newly allocated multicast group in rxe->mcg_tree before rxe_mcast_add() programs the backing Ethernet multicast address. If rxe_mcast_add() then fails (for example -ENODEV when the backing netdev has been removed, or a propagated dev_mc_add() error), the error unwind frees the published group without removing it from the tree. A later lookup of the same multicast GID dereferences the freed struct rxe_mcg, resulting in a slab-use-after-free that causes a kernel crash and denial of service. This issue affects the kernel and kernel-rt packages in Red Hat Enterprise Linux 8 (8.8 and later update streams) and Red Hat Enterprise Linux 9 (9.4 and later update streams), as well as the OpenShift Container Platform RHEL CoreOS 9-based streams 4.16 and later; for these affected streams the fix is currently deferred to a future update. The residual risk on affected streams is limited to availability, since exploitation requires local access with privileges to perform RDMA multicast operations and depends on an uncommon error condition during multicast address programming. Earlier RHEL 6, 7, 8, and 9 update streams, RHEL 10, Red Hat In-Vehicle OS, and OpenShift Container Platform 4.12 through 4.15 are not affected because the vulnerable code is not present in those kernels. Red Hat rates this flaw MODERATE (CVSS 3.1 score 5.5, AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) while the upstream CVEORG record scores it 7.0 (IMPORTANT, CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H). The difference is that the upstream score assumes high confidentiality and integrity impacts, whereas Red Hat's assessment finds the practical impact limited to availability, as dereferencing the freed multicast group structure results in a kernel crash rather than exposure or modification of data.

Меры по смягчению последствий

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelNot affected
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelFix deferred
Red Hat Enterprise Linux 8kernel-rtFix deferred
Red Hat Enterprise Linux 9kernelFix deferred
Red Hat Enterprise Linux 9kernel-rtNot affected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-8Not affected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-9Fix deferred

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-825
https://bugzilla.redhat.com/show_bug.cgi?id=2546534kernel: RDMA/rxe: insert mcg into mcg_tree only after rxe_mcast_add() succeeds

EPSS

Процентиль: 3%
0.0013
Низкий

5.5 Medium

CVSS3

Связанные уязвимости

CVSS3: 7
ubuntu
около 1 месяца назад

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 multicas...

CVSS3: 7
nvd
около 1 месяца назад

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 multicas

CVSS3: 7.1
msrc
26 дней назад

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

CVSS3: 7
debian
около 1 месяца назад

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

CVSS3: 7
github
около 1 месяца назад

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 multi...

EPSS

Процентиль: 3%
0.0013
Низкий

5.5 Medium

CVSS3