CVE-2021-47237
Publication date:
21/05/2024
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net: hamradio: fix memory leak in mkiss_close<br />
<br />
My local syzbot instance hit memory leak in<br />
mkiss_open()[1]. The problem was in missing<br />
free_netdev() in mkiss_close().<br />
<br />
In mkiss_open() netdevice is allocated and then<br />
registered, but in mkiss_close() netdevice was<br />
only unregistered, but not freed.<br />
<br />
Fail log:<br />
<br />
BUG: memory leak<br />
unreferenced object 0xffff8880281ba000 (size 4096):<br />
comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s)<br />
hex dump (first 32 bytes):<br />
61 78 30 00 00 00 00 00 00 00 00 00 00 00 00 00 ax0.............<br />
00 27 fa 2a 80 88 ff ff 00 00 00 00 00 00 00 00 .&#39;.*............<br />
backtrace:<br />
[] kvmalloc_node+0x61/0xf0<br />
[] alloc_netdev_mqs+0x98/0xe80<br />
[] mkiss_open+0xb2/0x6f0 [1]<br />
[] tty_ldisc_open+0x9b/0x110<br />
[] tty_set_ldisc+0x2e8/0x670<br />
[] tty_ioctl+0xda3/0x1440<br />
[] __x64_sys_ioctl+0x193/0x200<br />
[] do_syscall_64+0x3a/0xb0<br />
[] entry_SYSCALL_64_after_hwframe+0x44/0xae<br />
<br />
BUG: memory leak<br />
unreferenced object 0xffff8880141a9a00 (size 96):<br />
comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s)<br />
hex dump (first 32 bytes):<br />
e8 a2 1b 28 80 88 ff ff e8 a2 1b 28 80 88 ff ff ...(.......(....<br />
98 92 9c aa b0 40 02 00 00 00 00 00 00 00 00 00 .....@..........<br />
backtrace:<br />
[] __hw_addr_create_ex+0x5b/0x310<br />
[] __hw_addr_add_ex+0x1f8/0x2b0<br />
[] dev_addr_init+0x10b/0x1f0<br />
[] alloc_netdev_mqs+0x13b/0xe80<br />
[] mkiss_open+0xb2/0x6f0 [1]<br />
[] tty_ldisc_open+0x9b/0x110<br />
[] tty_set_ldisc+0x2e8/0x670<br />
[] tty_ioctl+0xda3/0x1440<br />
[] __x64_sys_ioctl+0x193/0x200<br />
[] do_syscall_64+0x3a/0xb0<br />
[] entry_SYSCALL_64_after_hwframe+0x44/0xae<br />
<br />
BUG: memory leak<br />
unreferenced object 0xffff8880219bfc00 (size 512):<br />
comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s)<br />
hex dump (first 32 bytes):<br />
00 a0 1b 28 80 88 ff ff 80 8f b1 8d ff ff ff ff ...(............<br />
80 8f b1 8d ff ff ff ff 00 00 00 00 00 00 00 00 ................<br />
backtrace:<br />
[] kvmalloc_node+0x61/0xf0<br />
[] alloc_netdev_mqs+0x777/0xe80<br />
[] mkiss_open+0xb2/0x6f0 [1]<br />
[] tty_ldisc_open+0x9b/0x110<br />
[] tty_set_ldisc+0x2e8/0x670<br />
[] tty_ioctl+0xda3/0x1440<br />
[] __x64_sys_ioctl+0x193/0x200<br />
[] do_syscall_64+0x3a/0xb0<br />
[] entry_SYSCALL_64_after_hwframe+0x44/0xae<br />
<br />
BUG: memory leak<br />
unreferenced object 0xffff888029b2b200 (size 256):<br />
comm "syz-executor.1", pid 11443, jiffies 4295046091 (age 17.660s)<br />
hex dump (first 32 bytes):<br />
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
backtrace:<br />
[] kvmalloc_node+0x61/0xf0<br />
[] alloc_netdev_mqs+0x912/0xe80<br />
[] mkiss_open+0xb2/0x6f0 [1]<br />
[] tty_ldisc_open+0x9b/0x110<br />
[] tty_set_ldisc+0x2e8/0x670<br />
[] tty_ioctl+0xda3/0x1440<br />
[] __x64_sys_ioctl+0x193/0x200<br />
[] do_syscall_64+0x3a/0xb0<br />
[] entry_SYSCALL_64_after_hwframe+0x44/0xae
Severity CVSS v4.0: Pending analysis
Last modification:
30/12/2024