7
CVE-2026-98360
- EPSS 0.13%
- Veröffentlicht 06.10.2026 08:46:46
- Zuletzt bearbeitet 07.10.2026 07:17:10
- Erkennungen
RDMA/rxe: insert mcg into mcg_tree only after rxe_mcast_add() succeeds
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.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt
Linux
Default Statusunaffected
Version
a926a903b7dc39a8a949150258c09290998dd812
Version <
ddb43ac0926d4a931bc9b7744b93627f627457e5
Status
affected
Version
a926a903b7dc39a8a949150258c09290998dd812
Version <
c79a789aa15180a1543b5db49c343d12e3ec214d
Status
affected
Version
a926a903b7dc39a8a949150258c09290998dd812
Version <
faae1fb4ccf8205806a8802c008798dabeb0205b
Status
affected
Version
a926a903b7dc39a8a949150258c09290998dd812
Version <
02c0a2fa69c16248a7432af8a6d64ab2a73a5283
Status
affected
Version
a926a903b7dc39a8a949150258c09290998dd812
Version <
d4fc4e37f8a143b0fe83b42c8fb48cf542154fee
Status
affected
Version
a926a903b7dc39a8a949150258c09290998dd812
Version <
1caceeb2d74bbe88223aea55eb8626b4c5f076fd
Status
affected
HerstellerLinux
≫
Produkt
Linux
Default Statusaffected
Version
5.18
Status
affected
Version
0
Version <
5.18
Status
unaffected
Version <=
6.1.*
Version
6.1.189
Status
unaffected
Version <=
6.6.*
Version
6.6.158
Status
unaffected
Version <=
6.12.*
Version
6.12.112
Status
unaffected
Version <=
6.18.*
Version
6.18.54
Status
unaffected
Version <=
7.2.*
Version
7.2.8
Status
unaffected
Version <=
*
Version
7.3-rc4
Status
unaffected
VulnDex Vulnerability Enrichment
| Typ | Quelle | Score | Percentile |
|---|---|---|---|
| EPSS | FIRST.org | 0.13% | 0.023 |
| Quelle | Base Score | Exploit Score | Impact Score | Vector String |
|---|---|---|---|---|
| 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | 7 | 1 | 5.9 |
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
|
https://git.kernel.org/stable/c/ddb43ac0926d4a931bc9b7744b93627f627457e5
https://git.kernel.org/stable/c/c79a789aa15180a1543b5db49c343d12e3ec214d
https://git.kernel.org/stable/c/faae1fb4ccf8205806a8802c008798dabeb0205b
https://git.kernel.org/stable/c/02c0a2fa69c16248a7432af8a6d64ab2a73a5283
https://git.kernel.org/stable/c/d4fc4e37f8a143b0fe83b42c8fb48cf542154fee
https://git.kernel.org/stable/c/1caceeb2d74bbe88223aea55eb8626b4c5f076fd