CVE-2024-46857: net/mlx5: Fix bridge mode operations when there are no VFs
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: Fix bridge mode operations when there are no VFs
Currently, trying to set the bridge mode attribute when numvfs=0 leads to a crash:
bridge link set dev eth2 hwmode vepa
[ 168.967392] BUG: kernel NULL pointer dereference, address: 0000000000000030 [...] [ 168.969989] RIP: 0010:mlx5addflowrules+0x1f/0x300 [mlx5core] [...] [ 168.976037] Call Trace: [ 168.976188] <TASK> [ 168.978620] mlx5eswitchsetvepalocked+0x113/0x230 [mlx5core] [ 168.979074] mlx5eswitchsetvepa+0x7f/0xa0 [mlx5core] [ 168.979471] rtnlbridgesetlink+0xe9/0x1f0 [ 168.979714] rtnetlinkrcvmsg+0x159/0x400 [ 168.980451] netlinkrcvskb+0x54/0x100 [ 168.980675] netlinkunicast+0x241/0x360 [ 168.980918] netlinksendmsg+0x1f6/0x430 [ 168.981162] syssendmsg+0x3bb/0x3f0 [ 168.982155] syssendmsg+0x88/0xd0 [ 168.985036] syssendmsg+0x59/0xa0 [ 168.985477] dosyscall64+0x79/0x150 [ 168.987273] entrySYSCALL64afterhwframe+0x76/0x7e [ 168.987773] RIP: 0033:0x7f8f7950f917
(esw->fdbtable.legacy.vepafdb is null)
The bridge mode is only relevant when there are multiple functions per port. Therefore, prevent setting and getting this setting when there are no VFs.
Note that after this change, there are no settings to change on the PF interface using bridge link when there are no VFs, so the interface no longer appears in the bridge link output.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-46857?
CVE-2024-46857 has been classified as moderately severe due to its potential to crash the system when setting the bridge mode attribute incorrectly.
How do I fix CVE-2024-46857?
To resolve CVE-2024-46857, you should update your Linux kernel to a patched version like 6.1.123-1 or later.
Which versions of the Linux kernel are affected by CVE-2024-46857?
CVE-2024-46857 affects Linux kernel versions from 5.1 up to but not including 6.2, as well as specific release candidates of 6.11.
What is the nature of the vulnerability in CVE-2024-46857?
The vulnerability in CVE-2024-46857 involves a crash that occurs when attempting to change bridge mode settings without any virtual functions present.
How can I verify if I am vulnerable to CVE-2024-46857?
To check for vulnerability to CVE-2024-46857, ensure your Linux kernel version is below 6.2 and verify if your bridge mode settings are being manipulated.