[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025050144-CVE-2022-49853-a5ef@gregkh>
Date: Thu, 1 May 2025 16:10:43 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-49853: net: macvlan: fix memory leaks of macvlan_common_newlink
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net: macvlan: fix memory leaks of macvlan_common_newlink
kmemleak reports memory leaks in macvlan_common_newlink, as follows:
ip link add link eth0 name .. type macvlan mode source macaddr add
<MAC-ADDR>
kmemleak reports:
unreferenced object 0xffff8880109bb140 (size 64):
comm "ip", pid 284, jiffies 4294986150 (age 430.108s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 b8 aa 5a 12 80 88 ff ff ..........Z.....
80 1b fa 0d 80 88 ff ff 1e ff ac af c7 c1 6b 6b ..............kk
backtrace:
[<ffffffff813e06a7>] kmem_cache_alloc_trace+0x1c7/0x300
[<ffffffff81b66025>] macvlan_hash_add_source+0x45/0xc0
[<ffffffff81b66a67>] macvlan_changelink_sources+0xd7/0x170
[<ffffffff81b6775c>] macvlan_common_newlink+0x38c/0x5a0
[<ffffffff81b6797e>] macvlan_newlink+0xe/0x20
[<ffffffff81d97f8f>] __rtnl_newlink+0x7af/0xa50
[<ffffffff81d98278>] rtnl_newlink+0x48/0x70
...
In the scenario where the macvlan mode is configured as 'source',
macvlan_changelink_sources() will be execured to reconfigure list of
remote source mac addresses, at the same time, if register_netdevice()
return an error, the resource generated by macvlan_changelink_sources()
is not cleaned up.
Using this patch, in the case of an error, it will execute
macvlan_flush_sources() to ensure that the resource is cleaned up.
The Linux kernel CVE team has assigned CVE-2022-49853 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 4.9.334 with commit 9f288e338be206713d79b29144c27fca4503c39b
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 4.14.300 with commit 21d3a8b6a1e39e7529ce9de07316ee13a63f305b
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 4.19.267 with commit a81b44d1df1f07f00c0dcc0a0b3d2fa24a46289e
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 5.4.225 with commit 685e73e3f7a9fb75cbf049a9d0b7c45cc6b57b2e
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 5.10.155 with commit 956e0216a19994443c90ba2ea6b0b284c9c4f9cb
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 5.15.79 with commit a8d67367ab33604326cc37ab44fd1801bf5691ba
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 6.0.9 with commit 9ea003c4671b2fc455320ecf6d4a43b0a3c1878a
Issue introduced in 4.9 with commit aa5fd0fb77486b8a6764ead8627baa14790e4280 and fixed in 6.1 with commit 23569b5652ee8e8e55a12f7835f59af6f3cefc30
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-49853
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/net/macvlan.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/9f288e338be206713d79b29144c27fca4503c39b
https://git.kernel.org/stable/c/21d3a8b6a1e39e7529ce9de07316ee13a63f305b
https://git.kernel.org/stable/c/a81b44d1df1f07f00c0dcc0a0b3d2fa24a46289e
https://git.kernel.org/stable/c/685e73e3f7a9fb75cbf049a9d0b7c45cc6b57b2e
https://git.kernel.org/stable/c/956e0216a19994443c90ba2ea6b0b284c9c4f9cb
https://git.kernel.org/stable/c/a8d67367ab33604326cc37ab44fd1801bf5691ba
https://git.kernel.org/stable/c/9ea003c4671b2fc455320ecf6d4a43b0a3c1878a
https://git.kernel.org/stable/c/23569b5652ee8e8e55a12f7835f59af6f3cefc30
Powered by blists - more mailing lists