• CVE-2022-49636

发布时间: 2025年2月27日

修改时间: 2025年4月5日

概要

In the Linux kernel, the following vulnerability has been resolved: vlan: fix memory leak in vlan_newlink() Blamed commit added back a bug I fixed in commit 9bbd917e0bec ("vlan: fix memory leak in vlan_dev_set_egress_priority") If a memory allocation fails in vlan_changelink() after other allocations succeeded, we need to call vlan_dev_free_egress_priority() to free all allocated memory because after a failed -&gt;newlink() we do not call any methods like ndo_uninit() or dev-&gt;priv_destructor(). In following example, if the allocation for last element 2000:2001 fails, we need to free eight prior allocations: ip link add link dummy0 dummy0.100 type vlan id 100 \ egress-qos-map 1:2 2:3 3:4 4:5 5:6 6:7 7:8 8:9 2000:2001 syzbot report was: BUG: memory leak unreferenced object 0xffff888117bd1060 (size 32): comm "syz-executor408", pid 3759, jiffies 4294956555 (age 34.090s) hex dump (first 32 bytes): 09 00 00 00 00 a0 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: [<ffffffff83fc60ad&gt;] kmalloc include/linux/slab.h:600 [inline] [<ffffffff83fc60ad&gt;] vlan_dev_set_egress_priority+0xed/0x170 net/8021q/vlan_dev.c:193 [<ffffffff83fc6628&gt;] vlan_changelink+0x178/0x1d0 net/8021q/vlan_netlink.c:128 [<ffffffff83fc67c8&gt;] vlan_newlink+0x148/0x260 net/8021q/vlan_netlink.c:185 [<ffffffff838b1278&gt;] rtnl_newlink_create net/core/rtnetlink.c:3363 [inline] [<ffffffff838b1278&gt;] __rtnl_newlink+0xa58/0xdc0 net/core/rtnetlink.c:3580 [<ffffffff838b1629&gt;] rtnl_newlink+0x49/0x70 net/core/rtnetlink.c:3593 [<ffffffff838ac66c&gt;] rtnetlink_rcv_msg+0x21c/0x5c0 net/core/rtnetlink.c:6089 [<ffffffff839f9c37&gt;] netlink_rcv_skb+0x87/0x1d0 net/netlink/af_netlink.c:2501 [<ffffffff839f8da7&gt;] netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline] [<ffffffff839f8da7&gt;] netlink_unicast+0x397/0x4c0 net/netlink/af_netlink.c:1345 [<ffffffff839f9266&gt;] netlink_sendmsg+0x396/0x710 net/netlink/af_netlink.c:1921 [<ffffffff8384dbf6&gt;] sock_sendmsg_nosec net/socket.c:714 [inline] [<ffffffff8384dbf6&gt;] sock_sendmsg+0x56/0x80 net/socket.c:734 [<ffffffff8384e15c&gt;] ____sys_sendmsg+0x36c/0x390 net/socket.c:2488 [<ffffffff838523cb&gt;] ___sys_sendmsg+0x8b/0xd0 net/socket.c:2542 [<ffffffff838525b8&gt;] __sys_sendmsg net/socket.c:2571 [inline] [<ffffffff838525b8&gt;] __do_sys_sendmsg net/socket.c:2580 [inline] [<ffffffff838525b8&gt;] __se_sys_sendmsg net/socket.c:2578 [inline] [<ffffffff838525b8&gt;] __x64_sys_sendmsg+0x78/0xf0 net/socket.c:2578 [<ffffffff845ad8d5&gt;] do_syscall_x64 arch/x86/entry/common.c:50 [inline] [<ffffffff845ad8d5&gt;] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 [<ffffffff8460006a&gt;] entry_SYSCALL_64_after_hwframe+0x46/0xb0

CVSS v3 指标

NVD openEuler
Confidentiality None Low
Attack Vector Local Local
CVSS评分 5.5 3.9
Attack Complexity Low High
Privileges Required Low High
Scope Unchanged Unchanged
Integrity None Low
User Interaction None None
Availability High Low

安全公告

公告名 概要 发布时间
KylinSec-SA-2025-1173 In the Linux kernel, the following vulnerability has been resolved: vlan: fix memory leak in vlan_newlink() Blamed commit added back a bug I fixed in commit 9bbd917e0bec ("vlan: fix memory leak in vlan_dev_set_egress_priority") If a memory allocation fails in vlan_changelink() after other allocations succeeded, we need to call vlan_dev_free_egress_priority() to free all allocated memory because after a failed -&gt;newlink() we do not call any methods like ndo_uninit() or dev-&gt;priv_destructor(). In following example, if the allocation for last element 2000:2001 fails, we need to free eight prior allocations: ip link add link dummy0 dummy0.100 type vlan id 100 \ egress-qos-map 1:2 2:3 3:4 4:5 5:6 6:7 7:8 8:9 2000:2001 syzbot report was: BUG: memory leak unreferenced object 0xffff888117bd1060 (size 32): comm "syz-executor408", pid 3759, jiffies 4294956555 (age 34.090s) hex dump (first 32 bytes): 09 00 00 00 00 a0 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: [<ffffffff83fc60ad&gt;] kmalloc include/linux/slab.h:600 [inline] [<ffffffff83fc60ad&gt;] vlan_dev_set_egress_priority+0xed/0x170 net/8021q/vlan_dev.c:193 [<ffffffff83fc6628&gt;] vlan_changelink+0x178/0x1d0 net/8021q/vlan_netlink.c:128 [<ffffffff83fc67c8&gt;] vlan_newlink+0x148/0x260 net/8021q/vlan_netlink.c:185 [<ffffffff838b1278&gt;] rtnl_newlink_create net/core/rtnetlink.c:3363 [inline] [<ffffffff838b1278&gt;] __rtnl_newlink+0xa58/0xdc0 net/core/rtnetlink.c:3580 [<ffffffff838b1629&gt;] rtnl_newlink+0x49/0x70 net/core/rtnetlink.c:3593 [<ffffffff838ac66c&gt;] rtnetlink_rcv_msg+0x21c/0x5c0 net/core/rtnetlink.c:6089 [<ffffffff839f9c37&gt;] netlink_rcv_skb+0x87/0x1d0 net/netlink/af_netlink.c:2501 [<ffffffff839f8da7&gt;] netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline] [<ffffffff839f8da7&gt;] netlink_unicast+0x397/0x4c0 net/netlink/af_netlink.c:1345 [<ffffffff839f9266&gt;] netlink_sendmsg+0x396/0x710 net/netlink/af_netlink.c:1921 [<ffffffff8384dbf6&gt;] sock_sendmsg_nosec net/socket.c:714 [inline] [<ffffffff8384dbf6&gt;] sock_sendmsg+0x56/0x80 net/socket.c:734 [<ffffffff8384e15c&gt;] ____sys_sendmsg+0x36c/0x390 net/socket.c:2488 [<ffffffff838523cb&gt;] ___sys_sendmsg+0x8b/0xd0 net/socket.c:2542 [<ffffffff838525b8&gt;] __sys_sendmsg net/socket.c:2571 [inline] [<ffffffff838525b8&gt;] __do_sys_sendmsg net/socket.c:2580 [inline] [<ffffffff838525b8&gt;] __se_sys_sendmsg net/socket.c:2578 [inline] [<ffffffff838525b8&gt;] __x64_sys_sendmsg+0x78/0xf0 net/socket.c:2578 [<ffffffff845ad8d5&gt;] do_syscall_x64 arch/x86/entry/common.c:50 [inline] [<ffffffff845ad8d5&gt;] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 [<ffffffff8460006a&gt;] entry_SYSCALL_64_after_hwframe+0x46/0xb0 2025年3月3日

影响产品

产品 状态
KY3.4-5 kernel Unaffected
KY3.5.3 kernel Unaffected
V6 kernel Unaffected