CVE-2024-46857

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-46857
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-46857.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-46857
Downstream
Related
Published
2024-09-27T12:42:48.545Z
Modified
2025-11-27T02:32:49.938098Z
Summary
net/mlx5: Fix bridge mode operations when there are no VFs
Details

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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/blob/cc431b3424123d84bcd7afd4de150b33f117a8ef/cves/2024/46xxx/CVE-2024-46857.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
4b89251de024fb85329e4cbd8fbea551ae6c665c
Fixed
52c4beb79e095e0631b5cac46ed48a2aefe51985
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
4b89251de024fb85329e4cbd8fbea551ae6c665c
Fixed
65feee671e37f3b6eda0b6af28f204b5bcf7fa50
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
4b89251de024fb85329e4cbd8fbea551ae6c665c
Fixed
505ae01f75f839b54329164bbfecf24cc1361b31
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
4b89251de024fb85329e4cbd8fbea551ae6c665c
Fixed
b1d305abef4640af1b4f1b4774d513cd81b10cfc

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.1.0
Fixed
6.1.111
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.52
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.11