CVE-2025-38109

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-38109
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38109.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38109
Downstream
Related
Published
2025-07-03T08:35:19Z
Modified
2025-10-18T03:17:55.534483Z
Summary
net/mlx5: Fix ECVF vports unload on shutdown flow
Details

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

net/mlx5: Fix ECVF vports unload on shutdown flow

Fix shutdown flow UAF when a virtual function is created on the embedded chip (ECVF) of a BlueField device. In such case the vport acl ingress table is not properly destroyed.

ECVF functionality is independent of ecpfvportexists capability and thus functions mlx5eswitch(enable|disable)pfvf_vports() should not test it when enabling/disabling ECVF vports.

kernel log: [] refcount_t: underflow; use-after-free. [] WARNING: CPU: 3 PID: 1 at lib/refcount.c:28

refcountwarnsaturate+0x124/0x220

[] Call trace: [] refcountwarnsaturate+0x124/0x220 [] treeputnode+0x164/0x1e0 [mlx5core] [] mlx5destroyflowtable+0x98/0x2c0 [mlx5core] [] eswaclingresstabledestroy+0x28/0x40 [mlx5core] [] eswaclingresslgcycleanup+0x80/0xf4 [mlx5core] [] eswlegacyvportaclcleanup+0x44/0x60 [mlx5core] [] eswvportcleanup+0x64/0x90 [mlx5core] [] mlx5eswvportdisable+0xc0/0x1d0 [mlx5core] [] mlx5eswitchunloadecvfvports+0xcc/0x150 [mlx5core] [] mlx5eswitchdisablesriov+0x198/0x2a0 [mlx5core] [] mlx5devicedisablesriov+0xb8/0x1e0 [mlx5core] [] mlx5sriovdetach+0x40/0x50 [mlx5core] [] mlx5unload+0x40/0xc4 [mlx5core] [] mlx5unloadonedevllocked+0x6c/0xe4 [mlx5core] [] mlx5unloadone+0x3c/0x60 [mlx5core] [] shutdown+0x7c/0xa4 [mlx5core] [] pcideviceshutdown+0x3c/0xa0 [] deviceshutdown+0x170/0x340 [] _dosysreboot+0x1f4/0x2a0 [] _arm64sysreboot+0x2c/0x40 [] invokesyscall+0x78/0x100 [] el0svccommon.constprop.0+0x54/0x184 [] doel0svc+0x30/0xac [] el0svc+0x48/0x160 [] el0t64synchandler+0xa4/0x12c [] el0t64_sync+0x1a4/0x1a8 [] --[ end trace 9c4601d68c70030e ]---

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
a7719b29a82199b90ebbf355d3332e0fbfbf6045
Fixed
5953ae44dfe5dbad374318875be834c3b7b71ee6
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a7719b29a82199b90ebbf355d3332e0fbfbf6045
Fixed
da15ca0553325acf68039015f2f4db750c8e2b96
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a7719b29a82199b90ebbf355d3332e0fbfbf6045
Fixed
24db585d369f949f698e03d7d8017e5ae19d0497
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a7719b29a82199b90ebbf355d3332e0fbfbf6045
Fixed
687560d8a9a2d654829ad0da1ec24242f1de711d

Affected versions

v6.*

v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.12
v6.12-rc1
v6.12-rc2
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.12.1
v6.12.10
v6.12.11
v6.12.12
v6.12.13
v6.12.14
v6.12.15
v6.12.16
v6.12.17
v6.12.18
v6.12.19
v6.12.2
v6.12.20
v6.12.21
v6.12.22
v6.12.23
v6.12.24
v6.12.25
v6.12.26
v6.12.27
v6.12.28
v6.12.29
v6.12.3
v6.12.30
v6.12.31
v6.12.32
v6.12.33
v6.12.4
v6.12.5
v6.12.6
v6.12.7
v6.12.8
v6.12.9
v6.13
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
v6.13-rc6
v6.13-rc7
v6.14
v6.14-rc1
v6.14-rc2
v6.14-rc3
v6.14-rc4
v6.14-rc5
v6.14-rc6
v6.14-rc7
v6.15
v6.15-rc1
v6.15-rc2
v6.15-rc3
v6.15-rc4
v6.15-rc5
v6.15-rc6
v6.15-rc7
v6.15.1
v6.15.2
v6.4
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.15
v6.6.16
v6.6.17
v6.6.18
v6.6.19
v6.6.2
v6.6.20
v6.6.21
v6.6.22
v6.6.23
v6.6.24
v6.6.25
v6.6.26
v6.6.27
v6.6.28
v6.6.29
v6.6.3
v6.6.30
v6.6.31
v6.6.32
v6.6.33
v6.6.34
v6.6.35
v6.6.36
v6.6.37
v6.6.38
v6.6.39
v6.6.4
v6.6.40
v6.6.41
v6.6.42
v6.6.43
v6.6.44
v6.6.45
v6.6.46
v6.6.47
v6.6.48
v6.6.49
v6.6.5
v6.6.50
v6.6.51
v6.6.52
v6.6.53
v6.6.54
v6.6.55
v6.6.56
v6.6.57
v6.6.58
v6.6.59
v6.6.6
v6.6.60
v6.6.61
v6.6.62
v6.6.63
v6.6.64
v6.6.65
v6.6.66
v6.6.67
v6.6.68
v6.6.69
v6.6.7
v6.6.70
v6.6.71
v6.6.72
v6.6.73
v6.6.74
v6.6.75
v6.6.76
v6.6.77
v6.6.78
v6.6.79
v6.6.8
v6.6.80
v6.6.81
v6.6.82
v6.6.83
v6.6.84
v6.6.85
v6.6.86
v6.6.87
v6.6.88
v6.6.89
v6.6.9
v6.6.90
v6.6.91
v6.6.92
v6.6.93
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.5.0
Fixed
6.6.94
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.34
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.15.3