In the Linux kernel, the following vulnerability has been resolved:
ipv4: iptunnel: Fix suspicious RCU usage warning in iptunnelinitflow()
There are code paths from which the function is called without holding the RCU read lock, resulting in a suspicious RCU usage warning [1].
Fix by using l3mdevmasterupperifindexbyindex() which will acquire the RCU read lock before calling l3mdevmasterupperifindexbyindex_rcu().
[1] WARNING: suspicious RCU usage
net/core/dev.c:876 RCU-list traversed in non-reader section!!
other info that might help us debug this:
rcuscheduleractive = 2, debuglocks = 1 1 lock held by ip/361: #0: ffffffff86fc7cb0 (rtnlmutex){+.+.}-{3:3}, at: rtnetlinkrcvmsg+0x377/0xf60
stack backtrace: CPU: 3 UID: 0 PID: 361 Comm: ip Not tainted 6.12.0-rc3-custom-gac8f72681cf2 #141 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Call Trace: <TASK> dumpstacklvl+0xba/0x110 lockdeprcususpicious.cold+0x4f/0xd6 devgetbyindexrcu+0x1d3/0x210 l3mdevmasterupperifindexbyindexrcu+0x2b/0xf0 iptunnelbinddev+0x72f/0xa00 iptunnelnewlink+0x368/0x7a0 ipgrenewlink+0x14c/0x170 rtnlnewlink+0x1173/0x19c0 rtnlnewlink+0x6c/0xa0 rtnetlinkrcvmsg+0x3cc/0xf60 netlinkrcvskb+0x171/0x450 netlinkunicast+0x539/0x7f0 netlinksendmsg+0x8c1/0xd80 syssendmsg+0x8f9/0xc20 _syssendmsg+0x197/0x1e0 _syssendmsg+0x122/0x1f0 dosyscall64+0xbb/0x1d0 entrySYSCALL64afterhwframe+0x77/0x7f
[
{
"id": "CVE-2024-53042-2c3f5557",
"target": {
"file": "include/net/ip_tunnels.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"64088380917165702536623672438854531874",
"57690949515019589087938714045377704763",
"11263825032864275014868283615052768729",
"247253742991826522012414759426363750461"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ad4a3ca6a8e886f6491910a3ae5d53595e40597d",
"signature_version": "v1"
},
{
"id": "CVE-2024-53042-37d4b1ed",
"target": {
"file": "include/net/ip_tunnels.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"64088380917165702536623672438854531874",
"57690949515019589087938714045377704763",
"11263825032864275014868283615052768729",
"247253742991826522012414759426363750461"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72c0f482e39c87317ebf67661e28c8d86c93e870",
"signature_version": "v1"
},
{
"id": "CVE-2024-53042-b1fc85e8",
"target": {
"file": "include/net/ip_tunnels.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"64088380917165702536623672438854531874",
"57690949515019589087938714045377704763",
"11263825032864275014868283615052768729",
"247253742991826522012414759426363750461"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6dfaa458fe923211c766238a224e0a3c0522935c",
"signature_version": "v1"
},
{
"id": "CVE-2024-53042-e4325c7c",
"target": {
"file": "include/net/ip_tunnels.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"64088380917165702536623672438854531874",
"57690949515019589087938714045377704763",
"11263825032864275014868283615052768729",
"247253742991826522012414759426363750461"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@699b48fc31727792edf2cab3829586ae6ba649e2",
"signature_version": "v1"
},
{
"id": "CVE-2024-53042-ea85f6cb",
"target": {
"file": "include/net/ip_tunnels.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"64088380917165702536623672438854531874",
"57690949515019589087938714045377704763",
"11263825032864275014868283615052768729",
"247253742991826522012414759426363750461"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5edcb3fdb12c3d46a6e79eeeec27d925b80fc168",
"signature_version": "v1"
},
{
"id": "CVE-2024-53042-f518ce83",
"target": {
"file": "include/net/ip_tunnels.h"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"64088380917165702536623672438854531874",
"57690949515019589087938714045377704763",
"11263825032864275014868283615052768729",
"247253742991826522012414759426363750461"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e2742758c9c85c84e077ede5f916479f724e11c2",
"signature_version": "v1"
}
]