CVE-2021-47237
Linux Kernel: hamradio: Memory Leak in mkiss_close
Description
In the Linux kernel, the following vulnerability has been resolved: net: hamradio: fix memory leak in mkiss_close My local syzbot instance hit memory leak in mkiss_open()[1]. The problem was in missing free_netdev() in mkiss_close(). In mkiss_open() netdevice is allocated and then registered, but in mkiss_close() netdevice was only unregistered, but not freed. Fail log: BUG: memory leak unreferenced object 0xffff8880281ba000 (size 4096): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): 61 78 30 00 00 00 00 00 00 00 00 00 00 00 00 00 ax0............. 00 27 fa 2a 80 88 ff ff 00 00 00 00 00 00 00 00 .'.*............ backtrace: [<ffffffff81a27201>] kvmalloc_node+0x61/0xf0 [<ffffffff8706e7e8>] alloc_netdev_mqs+0x98/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae BUG: memory leak unreferenced object 0xffff8880141a9a00 (size 96): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): e8 a2 1b 28 80 88 ff ff e8 a2 1b 28 80 88 ff ff ...(.......(.... 98 92 9c aa b0 40 02 00 00 00 00 00 00 00 00 00 .....@.......... backtrace: [<ffffffff8709f68b>] __hw_addr_create_ex+0x5b/0x310 [<ffffffff8709fb38>] __hw_addr_add_ex+0x1f8/0x2b0 [<ffffffff870a0c7b>] dev_addr_init+0x10b/0x1f0 [<ffffffff8706e88b>] alloc_netdev_mqs+0x13b/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae BUG: memory leak unreferenced object 0xffff8880219bfc00 (size 512): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): 00 a0 1b 28 80 88 ff ff 80 8f b1 8d ff ff ff ff ...(............ 80 8f b1 8d ff ff ff ff 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff81a27201>] kvmalloc_node+0x61/0xf0 [<ffffffff8706eec7>] alloc_netdev_mqs+0x777/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae BUG: memory leak unreferenced object 0xffff888029b2b200 (size 256): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff81a27201>] kvmalloc_node+0x61/0xf0 [<ffffffff8706f062>] alloc_netdev_mqs+0x912/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae
INFO
Published Date :
May 21, 2024, 3:15 p.m.
Last Modified :
Dec. 30, 2024, 7:05 p.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
3.6
Exploitability Score :
1.8
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2021-47237
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2021-47237
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2021-47237
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Dec. 30, 2024
Action Type Old Value New Value Added CVSS V3.1 NIST AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Added CWE NIST CWE-401 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 2.6.14 up to (excluding) 4.4.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.5 up to (excluding) 4.9.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.10 up to (excluding) 4.14.238 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.15 up to (excluding) 4.19.196 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20 up to (excluding) 5.4.128 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5 up to (excluding) 5.10.46 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.12.13 *cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc5:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc6:*:*:*:*:*:* Changed Reference Type https://git.kernel.org/stable/c/290b0b6432e2599021db0b8d6046f756d931c29f No Types Assigned https://git.kernel.org/stable/c/290b0b6432e2599021db0b8d6046f756d931c29f Patch Changed Reference Type https://git.kernel.org/stable/c/290b0b6432e2599021db0b8d6046f756d931c29f No Types Assigned https://git.kernel.org/stable/c/290b0b6432e2599021db0b8d6046f756d931c29f Patch Changed Reference Type https://git.kernel.org/stable/c/3942d0f9ace1a95a74930b5b4fc0e5005c62b37b No Types Assigned https://git.kernel.org/stable/c/3942d0f9ace1a95a74930b5b4fc0e5005c62b37b Patch Changed Reference Type https://git.kernel.org/stable/c/3942d0f9ace1a95a74930b5b4fc0e5005c62b37b No Types Assigned https://git.kernel.org/stable/c/3942d0f9ace1a95a74930b5b4fc0e5005c62b37b Patch Changed Reference Type https://git.kernel.org/stable/c/765a8a04f828db7222b36a42b1031f576bfe95c3 No Types Assigned https://git.kernel.org/stable/c/765a8a04f828db7222b36a42b1031f576bfe95c3 Patch Changed Reference Type https://git.kernel.org/stable/c/765a8a04f828db7222b36a42b1031f576bfe95c3 No Types Assigned https://git.kernel.org/stable/c/765a8a04f828db7222b36a42b1031f576bfe95c3 Patch Changed Reference Type https://git.kernel.org/stable/c/7edcc682301492380fbdd604b4516af5ae667a13 No Types Assigned https://git.kernel.org/stable/c/7edcc682301492380fbdd604b4516af5ae667a13 Patch Changed Reference Type https://git.kernel.org/stable/c/7edcc682301492380fbdd604b4516af5ae667a13 No Types Assigned https://git.kernel.org/stable/c/7edcc682301492380fbdd604b4516af5ae667a13 Patch Changed Reference Type https://git.kernel.org/stable/c/a49cbb762ef20655f5c91abdc13658b0af5e159d No Types Assigned https://git.kernel.org/stable/c/a49cbb762ef20655f5c91abdc13658b0af5e159d Patch Changed Reference Type https://git.kernel.org/stable/c/a49cbb762ef20655f5c91abdc13658b0af5e159d No Types Assigned https://git.kernel.org/stable/c/a49cbb762ef20655f5c91abdc13658b0af5e159d Patch Changed Reference Type https://git.kernel.org/stable/c/c16c4716a1b5ba4f83c7e00da457cba06761f119 No Types Assigned https://git.kernel.org/stable/c/c16c4716a1b5ba4f83c7e00da457cba06761f119 Patch Changed Reference Type https://git.kernel.org/stable/c/c16c4716a1b5ba4f83c7e00da457cba06761f119 No Types Assigned https://git.kernel.org/stable/c/c16c4716a1b5ba4f83c7e00da457cba06761f119 Patch Changed Reference Type https://git.kernel.org/stable/c/c634ba0b4159838ff45a60d3a0ace3b4118077a5 No Types Assigned https://git.kernel.org/stable/c/c634ba0b4159838ff45a60d3a0ace3b4118077a5 Patch Changed Reference Type https://git.kernel.org/stable/c/c634ba0b4159838ff45a60d3a0ace3b4118077a5 No Types Assigned https://git.kernel.org/stable/c/c634ba0b4159838ff45a60d3a0ace3b4118077a5 Patch Changed Reference Type https://git.kernel.org/stable/c/f4de2b43d13b7cf3ced9310e371b90c836dbd7cd No Types Assigned https://git.kernel.org/stable/c/f4de2b43d13b7cf3ced9310e371b90c836dbd7cd Patch Changed Reference Type https://git.kernel.org/stable/c/f4de2b43d13b7cf3ced9310e371b90c836dbd7cd No Types Assigned https://git.kernel.org/stable/c/f4de2b43d13b7cf3ced9310e371b90c836dbd7cd Patch -
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/290b0b6432e2599021db0b8d6046f756d931c29f Added Reference https://git.kernel.org/stable/c/3942d0f9ace1a95a74930b5b4fc0e5005c62b37b Added Reference https://git.kernel.org/stable/c/765a8a04f828db7222b36a42b1031f576bfe95c3 Added Reference https://git.kernel.org/stable/c/7edcc682301492380fbdd604b4516af5ae667a13 Added Reference https://git.kernel.org/stable/c/a49cbb762ef20655f5c91abdc13658b0af5e159d Added Reference https://git.kernel.org/stable/c/c16c4716a1b5ba4f83c7e00da457cba06761f119 Added Reference https://git.kernel.org/stable/c/c634ba0b4159838ff45a60d3a0ace3b4118077a5 Added Reference https://git.kernel.org/stable/c/f4de2b43d13b7cf3ced9310e371b90c836dbd7cd -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 28, 2024
Action Type Old Value New Value -
CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 21, 2024
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: net: hamradio: fix memory leak in mkiss_close My local syzbot instance hit memory leak in mkiss_open()[1]. The problem was in missing free_netdev() in mkiss_close(). In mkiss_open() netdevice is allocated and then registered, but in mkiss_close() netdevice was only unregistered, but not freed. Fail log: BUG: memory leak unreferenced object 0xffff8880281ba000 (size 4096): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): 61 78 30 00 00 00 00 00 00 00 00 00 00 00 00 00 ax0............. 00 27 fa 2a 80 88 ff ff 00 00 00 00 00 00 00 00 .'.*............ backtrace: [<ffffffff81a27201>] kvmalloc_node+0x61/0xf0 [<ffffffff8706e7e8>] alloc_netdev_mqs+0x98/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae BUG: memory leak unreferenced object 0xffff8880141a9a00 (size 96): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): e8 a2 1b 28 80 88 ff ff e8 a2 1b 28 80 88 ff ff ...(.......(.... 98 92 9c aa b0 40 02 00 00 00 00 00 00 00 00 00 .....@.......... backtrace: [<ffffffff8709f68b>] __hw_addr_create_ex+0x5b/0x310 [<ffffffff8709fb38>] __hw_addr_add_ex+0x1f8/0x2b0 [<ffffffff870a0c7b>] dev_addr_init+0x10b/0x1f0 [<ffffffff8706e88b>] alloc_netdev_mqs+0x13b/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae BUG: memory leak unreferenced object 0xffff8880219bfc00 (size 512): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): 00 a0 1b 28 80 88 ff ff 80 8f b1 8d ff ff ff ff ...(............ 80 8f b1 8d ff ff ff ff 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff81a27201>] kvmalloc_node+0x61/0xf0 [<ffffffff8706eec7>] alloc_netdev_mqs+0x777/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae BUG: memory leak unreferenced object 0xffff888029b2b200 (size 256): comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff81a27201>] kvmalloc_node+0x61/0xf0 [<ffffffff8706f062>] alloc_netdev_mqs+0x912/0xe80 [<ffffffff84e64192>] mkiss_open+0xb2/0x6f0 [1] [<ffffffff842355db>] tty_ldisc_open+0x9b/0x110 [<ffffffff84236488>] tty_set_ldisc+0x2e8/0x670 [<ffffffff8421f7f3>] tty_ioctl+0xda3/0x1440 [<ffffffff81c9f273>] __x64_sys_ioctl+0x193/0x200 [<ffffffff8911263a>] do_syscall_64+0x3a/0xb0 [<ffffffff89200068>] entry_SYSCALL_64_after_hwframe+0x44/0xae Added Reference kernel.org https://git.kernel.org/stable/c/c634ba0b4159838ff45a60d3a0ace3b4118077a5 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/3942d0f9ace1a95a74930b5b4fc0e5005c62b37b [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/765a8a04f828db7222b36a42b1031f576bfe95c3 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/c16c4716a1b5ba4f83c7e00da457cba06761f119 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/a49cbb762ef20655f5c91abdc13658b0af5e159d [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/290b0b6432e2599021db0b8d6046f756d931c29f [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/f4de2b43d13b7cf3ced9310e371b90c836dbd7cd [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/7edcc682301492380fbdd604b4516af5ae667a13 [No types assigned]
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2021-47237
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2021-47237
weaknesses.