CVE-2023-52977: net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
In the Linux kernel, the following vulnerability has been resolved:
net: openvswitch: fix flow memory leak in ovsflowcmdnew
Syzkaller reports a memory leak of newflow in ovsflowcmdnew() as it is not freed when an allocation of a key fails.
BUG: memory leak unreferenced object 0xffff888116668000 (size 632): comm "syz-executor231", pid 1090, jiffies 4294844701 (age 18.871s) 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: [<00000000defa3494>] kmemcachezalloc include/linux/slab.h:654 [inline] [<00000000defa3494>] ovsflowalloc+0x19/0x180 net/openvswitch/flowtable.c:77 [<00000000c67d8873>] ovsflowcmdnew+0x1de/0xd40 net/openvswitch/datapath.c:957 [<0000000010a539a8>] genlfamilyrcvmsgdoit+0x22d/0x330 net/netlink/genetlink.c:739 [<00000000dff3302d>] genlfamilyrcvmsg net/netlink/genetlink.c:783 [inline] [<00000000dff3302d>] genlrcvmsg+0x328/0x590 net/netlink/genetlink.c:800 [<000000000286dd87>] netlinkrcvskb+0x153/0x430 net/netlink/afnetlink.c:2515 [<0000000061fed410>] genlrcv+0x24/0x40 net/netlink/genetlink.c:811 [<000000009dc0f111>] netlinkunicastkernel net/netlink/afnetlink.c:1313 [inline] [<000000009dc0f111>] netlinkunicast+0x545/0x7f0 net/netlink/afnetlink.c:1339 [<000000004a5ee816>] netlinksendmsg+0x8e7/0xde0 net/netlink/afnetlink.c:1934 [<00000000482b476f>] socksendmsgnosec net/socket.c:651 [inline] [<00000000482b476f>] socksendmsg+0x152/0x190 net/socket.c:671 [<00000000698574ba>] syssendmsg+0x70a/0x870 net/socket.c:2356 [<00000000d28d9e11>] syssendmsg+0xf3/0x170 net/socket.c:2410 [<0000000083ba9120>] syssendmsg+0xe5/0x1b0 net/socket.c:2439 [<00000000c00628f8>] dosyscall64+0x30/0x40 arch/x86/entry/common.c:46 [<000000004abfdcf4>] entrySYSCALL64afterhwframe+0x61/0xc6
To fix this the patch rearranges the goto labels to reflect the order of object allocations and adds appropriate goto statements on the error paths.
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2023-52977?
CVE-2023-52977 has a medium severity due to its potential to cause memory leaks in the Linux kernel.
How do I fix CVE-2023-52977?
To fix CVE-2023-52977, update your Linux kernel to the latest version that includes the patch for this vulnerability.
What is the impact of CVE-2023-52977?
The impact of CVE-2023-52977 includes potential memory leaks that can lead to degraded system performance over time.
Which software is affected by CVE-2023-52977?
CVE-2023-52977 affects the Linux kernel and Open vSwitch implementations that utilize the net subsystem.
How was CVE-2023-52977 discovered?
CVE-2023-52977 was discovered through syzkaller, which identified a memory leak in the ovs_flow_cmd_new() function.