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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2021-47238— net: ipv4: fix memory leak in ip_mc_add1_src

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存在安全漏洞,该漏洞源于ip_mc_add1_src存在内存泄漏问题。

AI Predicted 5.5 Difficulty: Trivial EPSS 0.24% · P14

Affected Version Matrix 20

VendorProduct Version RangeStatus
Linux Linux 24803f38a5c0b6c57ed800b47e695f9ce474bc3a< 0dc13e75507faa17ac9f7562b4ef7bf8fcd78422 affected
24803f38a5c0b6c57ed800b47e695f9ce474bc3a< 6cff57eea3347f79f1867cc53e1093b6614138d8 affected
24803f38a5c0b6c57ed800b47e695f9ce474bc3a< 1e28018b5c83d5073f74a6fb72eabe8370b2f501 affected
24803f38a5c0b6c57ed800b47e695f9ce474bc3a< 3dd2aeac2e9624cff9fa634710837e4f2e352758 affected
24803f38a5c0b6c57ed800b47e695f9ce474bc3a< ac31cc837cafb57a271babad8ccffbf733caa076 affected
24803f38a5c0b6c57ed800b47e695f9ce474bc3a< 77de6ee73f54a9a89c0afa0bf4c53b239aa9953a affected
24803f38a5c0b6c57ed800b47e695f9ce474bc3a< d8e2973029b8b2ce477b564824431f3385c77083 affected
bd1b664a19403ede448d29c87b2f23796bc7a577 affected
… +12 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2021-47238

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
net: ipv4: fix memory leak in ip_mc_add1_src
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: ipv4: fix memory leak in ip_mc_add1_src BUG: memory leak unreferenced object 0xffff888101bc4c00 (size 32): comm "syz-executor527", pid 360, jiffies 4294807421 (age 19.329s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01 00 00 00 00 00 00 00 ac 14 14 bb 00 00 02 00 ................ backtrace: [<00000000f17c5244>] kmalloc include/linux/slab.h:558 [inline] [<00000000f17c5244>] kzalloc include/linux/slab.h:688 [inline] [<00000000f17c5244>] ip_mc_add1_src net/ipv4/igmp.c:1971 [inline] [<00000000f17c5244>] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095 [<000000001cb99709>] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416 [<0000000052cf19ed>] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [inline] [<0000000052cf19ed>] ip_setsockopt+0x114b/0x30c0 net/ipv4/ip_sockglue.c:1423 [<00000000477edfbc>] raw_setsockopt+0x13d/0x170 net/ipv4/raw.c:857 [<00000000e75ca9bb>] __sys_setsockopt+0x158/0x270 net/socket.c:2117 [<00000000bdb993a8>] __do_sys_setsockopt net/socket.c:2128 [inline] [<00000000bdb993a8>] __se_sys_setsockopt net/socket.c:2125 [inline] [<00000000bdb993a8>] __x64_sys_setsockopt+0xba/0x150 net/socket.c:2125 [<000000006a1ffdbd>] do_syscall_64+0x40/0x80 arch/x86/entry/common.c:47 [<00000000b11467c4>] entry_SYSCALL_64_after_hwframe+0x44/0xae In commit 24803f38a5c0 ("igmp: do not remove igmp souce list info when set link down"), the ip_mc_clear_src() in ip_mc_destroy_dev() was removed, because it was also called in igmpv3_clear_delrec(). Rough callgraph: inetdev_destroy -> ip_mc_destroy_dev -> igmpv3_clear_delrec -> ip_mc_clear_src -> RCU_INIT_POINTER(dev->ip_ptr, NULL) However, ip_mc_clear_src() called in igmpv3_clear_delrec() doesn't release in_dev->mc_list->sources. And RCU_INIT_POINTER() assigns the NULL to dev->ip_ptr. As a result, in_dev cannot be obtained through inetdev_by_index() and then in_dev->mc_list->sources cannot be released by ip_mc_del1_src() in the sock_close. Rough call sequence goes like: sock_close -> __sock_release -> inet_release -> ip_mc_drop_socket -> inetdev_by_index -> ip_mc_leave_src -> ip_mc_del_src -> ip_mc_del1_src So we still need to call ip_mc_clear_src() in ip_mc_destroy_dev() to free in_dev->mc_list->sources.
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存在安全漏洞,该漏洞源于ip_mc_add1_src存在内存泄漏问题。
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 24803f38a5c0b6c57ed800b47e695f9ce474bc3a ~ 0dc13e75507faa17ac9f7562b4ef7bf8fcd78422 -
Linux Linux 4.9 -

II. Public POCs for CVE-2021-47238

# 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-47238

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

Other References for CVE-2021-47238 (6)

Same Patch Batch · Linux · 2024-05-21 · 361 CVEs total

CVE-2023-52741 9.8 CRITICAL cifs: Fix use-after-free in rdata->read_into_pages()
CVE-2021-47378 9.8 CRITICAL nvme-rdma: destroy cm id before destroy qp to avoid use after free
CVE-2023-52755 9.8 CRITICAL ksmbd: fix slab out of bounds write in smb_inherit_dacl()
CVE-2021-47427 9.8 CRITICAL scsi: iscsi: Fix iscsi_task use after free
CVE-2023-52732 9.8 CRITICAL ceph: blocklist the kclient when receiving corrupted snap trace
CVE-2021-47328 9.8 CRITICAL scsi: iscsi: Fix conn use after free during resets
CVE-2021-47232 9.8 CRITICAL can: j1939: fix Use-after-Free, hold skb ref while in use
CVE-2023-52846 8.8 HIGH hsr: Prevent use after free in prp_create_tagged_frame()
CVE-2023-52769 8.8 HIGH wifi: ath12k: fix htt mlo-offset event locking
CVE-2023-52790 8.8 HIGH swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMIC
CVE-2021-47308 8.8 HIGH scsi: libfc: Fix array index out of bound exception
CVE-2021-47390 8.8 HIGH KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect()
CVE-2023-52801 8.8 HIGH iommufd: Fix missing update of domains_itree after splitting iopt_area
CVE-2023-52776 8.8 HIGH wifi: ath12k: fix dfs-radar and temperature event locking
CVE-2023-52798 8.8 HIGH wifi: ath11k: fix dfs radar event locking
CVE-2021-47388 8.8 HIGH mac80211: fix use-after-free in CCMP/GCMP RX
CVE-2021-47240 8.4 HIGH net: qrtr: fix OOB Read in qrtr_endpoint_post
CVE-2023-52829 8.4 HIGH wifi: ath12k: fix possible out-of-bound write in ath12k_wmi_ext_hal_reg_caps()
CVE-2021-47352 8.4 HIGH virtio-net: Add validation for used length
CVE-2021-47244 8.2 HIGH mptcp: Fix out of bounds when parsing TCP options

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-47238

No comments yet


Leave a comment