CVE-2022-49636: vlan: fix memory leak in vlan_newlink()

Published Feb 26, 2025
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

vlan: fix memory leak in vlannewlink()

Blamed commit added back a bug I fixed in commit 9bbd917e0bec ("vlan: fix memory leak in vlandevsetegresspriority")

If a memory allocation fails in vlanchangelink() after other allocations succeeded, we need to call vlandevfreeegresspriority() to free all allocated memory because after a failed ->newlink() we do not call any methods like ndouninit() or dev->privdestructor().

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>] kmalloc include/linux/slab.h:600 [inline] [<ffffffff83fc60ad>] vlandevsetegresspriority+0xed/0x170 net/8021q/vlandev.c:193 [<ffffffff83fc6628>] vlanchangelink+0x178/0x1d0 net/8021q/vlannetlink.c:128 [<ffffffff83fc67c8>] vlannewlink+0x148/0x260 net/8021q/vlannetlink.c:185 [<ffffffff838b1278>] rtnlnewlinkcreate net/core/rtnetlink.c:3363 [inline] [<ffffffff838b1278>] rtnlnewlink+0xa58/0xdc0 net/core/rtnetlink.c:3580 [<ffffffff838b1629>] rtnlnewlink+0x49/0x70 net/core/rtnetlink.c:3593 [<ffffffff838ac66c>] rtnetlinkrcvmsg+0x21c/0x5c0 net/core/rtnetlink.c:6089 [<ffffffff839f9c37>] netlinkrcvskb+0x87/0x1d0 net/netlink/afnetlink.c:2501 [<ffffffff839f8da7>] netlinkunicastkernel net/netlink/afnetlink.c:1319 [inline] [<ffffffff839f8da7>] netlinkunicast+0x397/0x4c0 net/netlink/afnetlink.c:1345 [<ffffffff839f9266>] netlinksendmsg+0x396/0x710 net/netlink/afnetlink.c:1921 [<ffffffff8384dbf6>] socksendmsgnosec net/socket.c:714 [inline] [<ffffffff8384dbf6>] socksendmsg+0x56/0x80 net/socket.c:734 [<ffffffff8384e15c>] syssendmsg+0x36c/0x390 net/socket.c:2488 [<ffffffff838523cb>] syssendmsg+0x8b/0xd0 net/socket.c:2542 [<ffffffff838525b8>] syssendmsg net/socket.c:2571 [inline] [<ffffffff838525b8>] dosyssendmsg net/socket.c:2580 [inline] [<ffffffff838525b8>] sesyssendmsg net/socket.c:2578 [inline] [<ffffffff838525b8>] x64syssendmsg+0x78/0xf0 net/socket.c:2578 [<ffffffff845ad8d5>] dosyscallx64 arch/x86/entry/common.c:50 [inline] [<ffffffff845ad8d5>] dosyscall64+0x35/0xb0 arch/x86/entry/common.c:80 [<ffffffff8460006a>] entrySYSCALL64afterhwframe+0x46/0xb0

Affected Software

12 affected componentsFixes available
Linux Linux kernel>=5.15.142<5.16
Linux Linux kernel>=5.17<5.18.13
Linux Linux kernel=5.19-rc1
Linux Linux kernel=5.19-rc2
Linux Linux kernel=5.19-rc3
Linux Linux kernel=5.19-rc4
Linux Linux kernel=5.19-rc5
Linux Linux kernel=5.19-rc6
Linux Kernel
Microsoft cbl2 kernel 5.15.182.1-1
Microsoft cbl2 kernel 5.15.180.1-1<5.15.180.1-1
5.15.180.1-1
Microsoft cbl2 kernel 5.15.182.1-1<5.15.180.1-1
5.15.180.1-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 5.15.180.1-1

Event History

Feb 26, 2025
CVE Published
via MITRE·02:23 AM
Data Sourced
via MITRE·02:23 AM
Description
Sep 4, 2025
Data Sourced
via Microsoft·04:57 AM
DescriptionSeverityWeaknessAffected Software
Updated
via Microsoft·04:57 AM
SeverityAffected Software
Updated
via Microsoft·04:57 AM
Affected Software
Updated
via Microsoft·04:57 AM
Description

Frequently Asked Questions

1

What is the severity of CVE-2022-49636?

CVE-2022-49636 has a high severity level due to the potential for memory leaks impacting system stability.

2

How do I fix CVE-2022-49636?

To fix CVE-2022-49636, update your Linux kernel to a version that has resolved this vulnerability.

3

Which versions of the Linux kernel are affected by CVE-2022-49636?

CVE-2022-49636 affects Linux kernel versions between 5.15.142 and 5.19-rc6.

4

What types of systems are vulnerable to CVE-2022-49636?

Any system running the affected versions of the Linux kernel is vulnerable to CVE-2022-49636.

5

Is there a workaround for CVE-2022-49636?

Currently, there is no known workaround for CVE-2022-49636, and the recommended action is to apply the appropriate kernel update.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203