CVE-2021-47238
published 2024-05-21CVE-2021-47238: 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…
PriorityP419medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.24%
14.7th percentile
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:
[] kmalloc include/linux/slab.h:558 [inline]
[] kzalloc include/linux/slab.h:688 [inline]
[] ip_mc_add1_src net/ipv4/igmp.c:1971 [inline]
[] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095
[] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416
[] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [inline]
[] ip_setsockopt+0x114b/0x30c0 net/ipv4/ip_sockglue.c:1423
[] raw_setsockopt+0x13d/0x170 net/ipv4/raw.c:857
[] __sys_setsockopt+0x158/0x270 net/socket.c:2117
[] __do_sys_setsockopt net/socket.c:2128 [inline]
[] __se_sys_setsockopt net/socket.c:2125 [inline]
[] __x64_sys_setsockopt+0xba/0x150 net/socket.c:2125
[] do_syscall_64+0x40/0x80 arch/x86/entry/common.c:47
[] 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_des
Affected
26 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | linux | < linux 5.10.46-1 (bookworm) | linux 5.10.46-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | — | — |
| linux | linux | >= 24803f38a5c0b6c57ed800b47e695f9ce474bc3a < 0dc13e75507faa17ac9f7562b4ef7bf8fcd78422 | 0dc13e75507faa17ac9f7562b4ef7bf8fcd78422 |
| linux | linux | >= 24803f38a5c0b6c57ed800b47e695f9ce474bc3a < 6cff57eea3347f79f1867cc53e1093b6614138d8 | 6cff57eea3347f79f1867cc53e1093b6614138d8 |
| linux | linux | >= 24803f38a5c0b6c57ed800b47e695f9ce474bc3a < 1e28018b5c83d5073f74a6fb72eabe8370b2f501 | 1e28018b5c83d5073f74a6fb72eabe8370b2f501 |
| linux | linux | >= 24803f38a5c0b6c57ed800b47e695f9ce474bc3a < 3dd2aeac2e9624cff9fa634710837e4f2e352758 | 3dd2aeac2e9624cff9fa634710837e4f2e352758 |
| linux | linux | >= 24803f38a5c0b6c57ed800b47e695f9ce474bc3a < ac31cc837cafb57a271babad8ccffbf733caa076 | ac31cc837cafb57a271babad8ccffbf733caa076 |
| linux | linux | >= 24803f38a5c0b6c57ed800b47e695f9ce474bc3a < 77de6ee73f54a9a89c0afa0bf4c53b239aa9953a | 77de6ee73f54a9a89c0afa0bf4c53b239aa9953a |
| linux | linux | >= 24803f38a5c0b6c57ed800b47e695f9ce474bc3a < d8e2973029b8b2ce477b564824431f3385c77083 | d8e2973029b8b2ce477b564824431f3385c77083 |
| linux | linux | >= 3.16.42 < 3.17 | 3.17 |
| linux | linux | >= 3.2.87 < 3.3 | 3.3 |
| linux | linux_kernel | — | — |
| linux | linux_kernel | >= 0 < 5.10.46-1 | 5.10.46-1 |
| linux | linux_kernel | >= 0 < 5.10.46-1 | 5.10.46-1 |
| linux | linux_kernel | >= 0 < 5.10.46-1 | 5.10.46-1 |
| linux | linux_kernel | >= 0 < 5.10.46-1 | 5.10.46-1 |
| linux | linux_kernel | >= 3.16.42 < 3.17 | 3.17 |
| linux | linux_kernel | >= 3.2.87 < 3.3 | 3.3 |
| linux | linux_kernel | >= 4.10 < 4.14.238 | 4.14.238 |
| linux | linux_kernel | >= 4.15 < 4.19.196 | 4.19.196 |
| linux | linux_kernel | >= 4.20 < 5.4.128 | 5.4.128 |
| linux | linux_kernel | >= 4.9 < 4.9.274 | 4.9.274 |
| linux | linux_kernel | >= 5.11 < 5.12.13 | 5.12.13 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
CVE-2021-47238: 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
osv·2024-05-21·CVSS 5.5
CVE-2021-47238 [MEDIUM] CVE-2021-47238: 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
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: [] kmalloc include/linux/slab.h:558 [inline] [] kzalloc include/linux/slab.h:688 [inline] [] ip_mc_add1_src net/ipv4/igmp.c:1971 [inline] [] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095 [] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416 [] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [inline] [] ip_setsockopt+0x114b/0x30c0 net/ipv4/ip_sockglue.c:1423 [] raw_setsockopt+0x13d/0x170 net
GHSA
GHSA-jv5x-8v9f-frx2: In the Linux kernel, the following vulnerability has been resolved:
net: ipv4: fix memory leak in ip_mc_add1_src
BUG: memory leak
unreferenced objec
ghsa_unreviewed·2024-05-21
CVE-2021-47238 [MEDIUM] CWE-400 GHSA-jv5x-8v9f-frx2: In the Linux kernel, the following vulnerability has been resolved:
net: ipv4: fix memory leak in ip_mc_add1_src
BUG: memory leak
unreferenced objec
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:
[] kmalloc include/linux/slab.h:558 [inline]
[] kzalloc include/linux/slab.h:688 [inline]
[] ip_mc_add1_src net/ipv4/igmp.c:1971 [inline]
[] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095
[] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416
[] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [inline]
[] ip_setsockopt+0x114b/0x30c0 net/ipv4/ip_sockglue.c:1423
[] raw_setsockopt+0x13d/0x170 n
Red Hat
kernel: net: ipv4: fix memory leak in ip_mc_add1_src
vendor_redhat·2024-05-21·CVSS 5.5
CVE-2021-47238 [MEDIUM] CWE-400 kernel: net: ipv4: fix memory leak in ip_mc_add1_src
kernel: net: ipv4: fix memory leak in ip_mc_add1_src
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:
[] kmalloc include/linux/slab.h:558 [inline]
[] kzalloc include/linux/slab.h:688 [inline]
[] ip_mc_add1_src net/ipv4/igmp.c:1971 [inline]
[] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095
[] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416
[] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [inline]
[] ip_setsockopt+0x114b/0x30c0 net/ipv
Debian
CVE-2021-47238: linux - In the Linux kernel, the following vulnerability has been resolved: net: ipv4: ...
vendor_debian·2021·CVSS 5.5
CVE-2021-47238 [MEDIUM] CVE-2021-47238: linux - In the Linux kernel, the following vulnerability has been resolved: net: ipv4: ...
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: [] kmalloc include/linux/slab.h:558 [inline] [] kzalloc include/linux/slab.h:688 [inline] [] ip_mc_add1_src net/ipv4/igmp.c:1971 [inline] [] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095 [] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416 [] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [inline] [] ip_setsockopt+0x114b/0x30c0 net/ipv4/ip_sockglue.c:1423 [] raw_setsockopt+0x13d/0x170 net
No detection rules found.
No public exploits indexed.
https://git.kernel.org/stable/c/0dc13e75507faa17ac9f7562b4ef7bf8fcd78422https://git.kernel.org/stable/c/1e28018b5c83d5073f74a6fb72eabe8370b2f501https://git.kernel.org/stable/c/3dd2aeac2e9624cff9fa634710837e4f2e352758https://git.kernel.org/stable/c/6cff57eea3347f79f1867cc53e1093b6614138d8https://git.kernel.org/stable/c/77de6ee73f54a9a89c0afa0bf4c53b239aa9953ahttps://git.kernel.org/stable/c/ac31cc837cafb57a271babad8ccffbf733caa076https://git.kernel.org/stable/c/d8e2973029b8b2ce477b564824431f3385c77083https://git.kernel.org/stable/c/0dc13e75507faa17ac9f7562b4ef7bf8fcd78422https://git.kernel.org/stable/c/1e28018b5c83d5073f74a6fb72eabe8370b2f501https://git.kernel.org/stable/c/3dd2aeac2e9624cff9fa634710837e4f2e352758https://git.kernel.org/stable/c/6cff57eea3347f79f1867cc53e1093b6614138d8https://git.kernel.org/stable/c/77de6ee73f54a9a89c0afa0bf4c53b239aa9953ahttps://git.kernel.org/stable/c/ac31cc837cafb57a271babad8ccffbf733caa076https://git.kernel.org/stable/c/d8e2973029b8b2ce477b564824431f3385c77083
2024-05-21
Published