Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-21732— RDMA/mlx5: Fix a race for an ODP MR which leads to CQE with error

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于ODP MR存在竞争条件,可能导致UMR QP的CQE错误。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.14% · P3

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux e6fb246ccafbdfc86e0750af021628132fdbceac< b13d32786acabf70a7b04ed24b7468fc3c82977c affected
e6fb246ccafbdfc86e0750af021628132fdbceac< 5297f5ddffef47b94172ab0d3d62270002a3dcc1 affected
e6fb246ccafbdfc86e0750af021628132fdbceac< abb604a1a9c87255c7a6f3b784410a9707baf467 affected
5.13 affected
< 5.13 unaffected
6.12.14≤ 6.12.* unaffected
6.13.3≤ 6.13.* unaffected
6.14≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21732

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
RDMA/mlx5: Fix a race for an ODP MR which leads to CQE with error
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix a race for an ODP MR which leads to CQE with error This patch addresses a race condition for an ODP MR that can result in a CQE with an error on the UMR QP. During the __mlx5_ib_dereg_mr() flow, the following sequence of calls occurs: mlx5_revoke_mr() mlx5r_umr_revoke_mr() mlx5r_umr_post_send_wait() At this point, the lkey is freed from the hardware's perspective. However, concurrently, mlx5_ib_invalidate_range() might be triggered by another task attempting to invalidate a range for the same freed lkey. This task will: - Acquire the umem_odp->umem_mutex lock. - Call mlx5r_umr_update_xlt() on the UMR QP. - Since the lkey has already been freed, this can lead to a CQE error, causing the UMR QP to enter an error state [1]. To resolve this race condition, the umem_odp->umem_mutex lock is now also acquired as part of the mlx5_revoke_mr() scope. Upon successful revoke, we set umem_odp->private which points to that MR to NULL, preventing any further invalidation attempts on its lkey. [1] From dmesg: infiniband rocep8s0f0: dump_cqe:277:(pid 0): WC error: 6, Message: memory bind operation error cqe_dump: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000030: 00 00 00 00 08 00 78 06 25 00 11 b9 00 0e dd d2 WARNING: CPU: 15 PID: 1506 at drivers/infiniband/hw/mlx5/umr.c:394 mlx5r_umr_post_send_wait+0x15a/0x2b0 [mlx5_ib] Modules linked in: ip6table_mangle ip6table_natip6table_filter ip6_tables iptable_mangle xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_nat nf_nat br_netfilter rpcsec_gss_krb5 auth_rpcgss oid_registry overlay rpcrdma rdma_ucm ib_iser libiscsi scsi_transport_iscsi rdma_cm iw_cm ib_umad ib_ipoib ib_cm mlx5_ib ib_uverbs ib_core fuse mlx5_core CPU: 15 UID: 0 PID: 1506 Comm: ibv_rc_pingpong Not tainted 6.12.0-rc7+ #1626 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 RIP: 0010:mlx5r_umr_post_send_wait+0x15a/0x2b0 [mlx5_ib] [..] Call Trace: <TASK> mlx5r_umr_update_xlt+0x23c/0x3e0 [mlx5_ib] mlx5_ib_invalidate_range+0x2e1/0x330 [mlx5_ib] __mmu_notifier_invalidate_range_start+0x1e1/0x240 zap_page_range_single+0xf1/0x1a0 madvise_vma_behavior+0x677/0x6e0 do_madvise+0x1a2/0x4b0 __x64_sys_madvise+0x25/0x30 do_syscall_64+0x6b/0x140 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于ODP MR存在竞争条件,可能导致UMR QP的CQE错误。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux e6fb246ccafbdfc86e0750af021628132fdbceac ~ b13d32786acabf70a7b04ed24b7468fc3c82977c -
Linux Linux 5.13 -

II. Public POCs for CVE-2025-21732

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21732

请登录查看更多情报信息。

Patches & Fixes for CVE-2025-21732 (3)

Same Patch Batch · Linux · 2025-02-27 · 177 CVEs total

CVE-2025-21796 9.8 CRITICAL nfsd: clear acl_access/acl_default after releasing them
CVE-2025-21805 9.8 CRITICAL RDMA/rtrs: Add missing deinit() call
CVE-2025-21707 9.8 CRITICAL mptcp: consolidate suboption status
CVE-2025-21748 9.8 CRITICAL ksmbd: fix integer overflows on 32 bit systems
CVE-2024-58006 9.6 CRITICAL PCI: dwc: ep: Prevent changing BAR size/flags in pci_epc_set_bar()
CVE-2025-21735 8.8 HIGH NFC: nci: Add bounds checking in nci_hci_create_pipe()
CVE-2024-57999 8.8 HIGH powerpc/pseries/iommu: IOMMU incorrectly marks MMIO range in DDW
CVE-2024-57997 8.8 HIGH wifi: wcn36xx: fix channel survey memory allocation size
CVE-2024-57995 8.8 HIGH wifi: ath12k: fix read pointer after free in ath12k_mac_assign_vif_to_vdev()
CVE-2025-21710 8.2 HIGH tcp: correct handling of extreme memory squeeze
CVE-2024-57973 8.1 HIGH rdma/cxgb4: Prevent potential integer overflow on 32bit
CVE-2025-21760 8.1 HIGH ndisc: extend RCU protection in ndisc_send_skb()
CVE-2025-21766 8.1 HIGH ipv4: use RCU protection in __ip_rt_update_pmtu()
CVE-2025-21765 8.1 HIGH ipv6: use RCU protection in ip6_default_advmss()
CVE-2025-21762 8.1 HIGH arp: use RCU protection in arp_xmit()
CVE-2025-21730 7.8 HIGH wifi: rtw89: avoid to init mgnt_entry list twice when WoWLAN failed
CVE-2025-21729 7.8 HIGH wifi: rtw89: fix race between cancel_hw_scan and hw_scan completion
CVE-2025-21772 7.8 HIGH partitions: mac: fix handling of bogus partition table
CVE-2024-52560 7.8 HIGH fs/ntfs3: Mark inode as bad as soon as error detected in mi_enum_attr()
CVE-2024-58002 7.8 HIGH media: uvcvideo: Remove dangling pointers

Showing top 20 of 177 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-21732

No comments yet


Leave a comment