5.5

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

Analyzed
AliasesUBUNTU-CVE-2021-47238DEBIAN-CVE-2021-47238
Published 21-05-2024Last modified 23-05-2026

Vulnerability summary

CVE-2021-47238 is a medium (CVSS 5.5) Uncontrolled Resource Consumption vulnerability in linux. EPSS estimates a 0.24% chance of exploitation in the next 30 days, higher than 14.7% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 5.5, local access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
5.5/10
010
Medium · v3.1 (CVE.org)
EPSS score
0.24%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 3 · Related 3

Timeline

  1. 21-05-2024
    PublishedVulnerability first disclosed.
  2. 23-05-2026
    Last modifiedVulnerability information updated.

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.

CVSS metrics

5 scores · 4 sources · 2 versions

EPSS trend

Probability

0.24%

Chance of exploitation in the next 30 days

Percentile

15%

Versus all other CVEs

30-day change

No change 0.00 pp

From 0.24% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.

Ubuntu85 products
  • linux< 4.15.0-156.163 | < 5.4.0-81.91
  • linux-allwinner-5.19All versions (No fix recorded)
  • linux-aws< 4.15.0-1111.118 | < 5.4.0-1055.58
  • linux-aws-5.0All versions (No fix recorded)
  • linux-aws-5.11All versions (No fix recorded)
Linux2 products
  • linux≥ 24803f38a5c0b6c57ed800b47e695f9ce474bc3a, < 0dc13e75507faa17ac9f7562b4ef7bf8fcd78422 | ≥ 24803f38a5c0b6c57ed800b47e695f9ce474bc3a, < 6cff57eea3347f79f1867cc53e1093b6614138d8 | ≥ 24803f38a5c0b6c57ed800b47e695f9ce474bc3a, < 1e28018b5c83d5073f74a6fb72eabe8370b2f501 | ≥ 24803f38a5c0b6c57ed800b47e695f9ce474bc3a, < 3dd2aeac2e9624cff9fa634710837e4f2e352758 | ≥ 24803f38a5c0b6c57ed800b47e695f9ce474bc3a, < ac31cc837cafb57a271babad8ccffbf733caa076 | ≥ 24803f38a5c0b6c57ed800b47e695f9ce474bc3a, < 77de6ee73f54a9a89c0afa0bf4c53b239aa9953a | ≥ 24803f38a5c0b6c57ed800b47e695f9ce474bc3a, < d8e2973029b8b2ce477b564824431f3385c77083 | bd1b664a19403ede448d29c87b2f23796bc7a577 | b38c6e0bd5b5e439ecebdc0df599d573c2f610f8 | ≥ 3.2.87, < 3.3 | ≥ 3.16.42, < 3.17 | 4.9
  • linux_kernel≥ 3.2.87, < 3.3 | ≥ 3.16.42, < 3.17 | ≥ 4.9, < 4.9.274 | ≥ 4.10, < 4.14.238 | ≥ 4.15, < 4.19.196 | ≥ 4.20, < 5.4.128 | ≥ 5.5, < 5.10.46 | ≥ 5.11, < 5.12.13 | 5.13:rc1 | 5.13:rc2 | 5.13:rc3 | 5.13:rc4 | 5.13:rc5 | 5.13:rc6
Debian1 product
  • linux< 5.10.46-1

3 vendors · 88 products

References

11 links
Show all 11 references