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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2021-47196— RDMA/core: Set send and receive CQ before forwarding to the driver

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存在安全漏洞,该漏洞源于create_qp.cold+0x164/0x16e[mlx5_ib]存在释放后重用漏洞。

CVSS 7.8 · High EPSS 0.22% · P12

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux 514aee660df493cd673154a6ba6bab745ec47b8c< b70e072feffa0ba5c41a99b9524b9878dee7748e affected
514aee660df493cd673154a6ba6bab745ec47b8c< 6cd7397d01c4a3e09757840299e4f114f0aa5fa0 affected
5.15 affected
< 5.15 unaffected
5.15.5≤ 5.15.* unaffected
5.16≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2021-47196

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/core: Set send and receive CQ before forwarding to the driver
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/core: Set send and receive CQ before forwarding to the driver Preset both receive and send CQ pointers prior to call to the drivers and overwrite it later again till the mlx4 is going to be changed do not overwrite ibqp properties. This change is needed for mlx5, because in case of QP creation failure, it will go to the path of QP destroy which relies on proper CQ pointers. BUG: KASAN: use-after-free in create_qp.cold+0x164/0x16e [mlx5_ib] Write of size 8 at addr ffff8880064c55c0 by task a.out/246 CPU: 0 PID: 246 Comm: a.out Not tainted 5.15.0+ #291 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 Call Trace: dump_stack_lvl+0x45/0x59 print_address_description.constprop.0+0x1f/0x140 kasan_report.cold+0x83/0xdf create_qp.cold+0x164/0x16e [mlx5_ib] mlx5_ib_create_qp+0x358/0x28a0 [mlx5_ib] create_qp.part.0+0x45b/0x6a0 [ib_core] ib_create_qp_user+0x97/0x150 [ib_core] ib_uverbs_handler_UVERBS_METHOD_QP_CREATE+0x92c/0x1250 [ib_uverbs] ib_uverbs_cmd_verbs+0x1c38/0x3150 [ib_uverbs] ib_uverbs_ioctl+0x169/0x260 [ib_uverbs] __x64_sys_ioctl+0x866/0x14d0 do_syscall_64+0x3d/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae Allocated by task 246: kasan_save_stack+0x1b/0x40 __kasan_kmalloc+0xa4/0xd0 create_qp.part.0+0x92/0x6a0 [ib_core] ib_create_qp_user+0x97/0x150 [ib_core] ib_uverbs_handler_UVERBS_METHOD_QP_CREATE+0x92c/0x1250 [ib_uverbs] ib_uverbs_cmd_verbs+0x1c38/0x3150 [ib_uverbs] ib_uverbs_ioctl+0x169/0x260 [ib_uverbs] __x64_sys_ioctl+0x866/0x14d0 do_syscall_64+0x3d/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae Freed by task 246: kasan_save_stack+0x1b/0x40 kasan_set_track+0x1c/0x30 kasan_set_free_info+0x20/0x30 __kasan_slab_free+0x10c/0x150 slab_free_freelist_hook+0xb4/0x1b0 kfree+0xe7/0x2a0 create_qp.part.0+0x52b/0x6a0 [ib_core] ib_create_qp_user+0x97/0x150 [ib_core] ib_uverbs_handler_UVERBS_METHOD_QP_CREATE+0x92c/0x1250 [ib_uverbs] ib_uverbs_cmd_verbs+0x1c38/0x3150 [ib_uverbs] ib_uverbs_ioctl+0x169/0x260 [ib_uverbs] __x64_sys_ioctl+0x866/0x14d0 do_syscall_64+0x3d/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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存在安全漏洞,该漏洞源于create_qp.cold+0x164/0x16e[mlx5_ib]存在释放后重用漏洞。
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 514aee660df493cd673154a6ba6bab745ec47b8c ~ b70e072feffa0ba5c41a99b9524b9878dee7748e -
Linux Linux 5.15 -

II. Public POCs for CVE-2021-47196

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-47196

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

Other References for CVE-2021-47196 (2)

Same Patch Batch · Linux · 2024-04-10 · 39 CVEs total

CVE-2021-47215 9.8 CRITICAL net/mlx5e: kTLS, Fix crash in RX resync flow
CVE-2021-47203 8.8 HIGH scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
CVE-2021-47183 8.8 HIGH scsi: lpfc: Fix link down processing to address NULL pointer dereference
CVE-2021-47184 8.8 HIGH i40e: Fix NULL ptr dereference on VSI filter sync
CVE-2021-47201 7.8 HIGH iavf: free q_vectors before queues in iavf_disable_vf
CVE-2021-47200 7.8 HIGH drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap
CVE-2024-26815 7.8 HIGH net/sched: taprio: proper TCA_TAPRIO_TC_ENTRY_INDEX check
CVE-2021-47197 7.8 HIGH net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove()
CVE-2021-47188 7.8 HIGH scsi: ufs: core: Improve SCSI abort handling
CVE-2021-47189 7.8 HIGH btrfs: fix memory ordering between normal and ordered work functions
CVE-2021-47209 7.8 HIGH sched/fair: Prevent dead task groups from regaining cfs_rq's
CVE-2021-47194 7.8 HIGH cfg80211: call cfg80211_stop_ap when switch from P2P_GO type
CVE-2021-47219 7.1 HIGH scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs()
CVE-2021-47191 7.1 HIGH scsi: scsi_debug: Fix out-of-bound read in resp_readcap16()
CVE-2021-47211 ALSA: usb-audio: fix null pointer dereference on pointer cs_desc
CVE-2021-47210 usb: typec: tipd: Remove WARN_ON in tps6598x_block_read
CVE-2021-47212 net/mlx5: Update error handler for UCTX and UMEM
CVE-2021-47214 hugetlb, userfaultfd: fix reservation restore on userfaultfd error
CVE-2021-47207 ALSA: gus: fix null pointer dereference on pointer block
CVE-2021-47216 scsi: advansys: Fix kernel pointer leak

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-47196

No comments yet


Leave a comment