In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: Fix steering rules cleanup
vport's mc, uc and multicast rules are not deleted in teardown path when EEH happens. Since the vport's promisc settings(uc, mc and all) in firmware are reset after EEH, mlx5 driver will try to delete the above rules in the initialization path. This cause kernel crash because these software rules are no longer valid.
Fix by nullifying these rules right after delete to avoid accessing any dangling pointers.
Call Trace: _listdelentryvalid+0xcc/0x100 (unreliable) treeputnode+0xf4/0x1b0 [mlx5core] treeremovenode+0x30/0x70 [mlx5core] mlx5delflowrules+0x14c/0x1f0 [mlx5core] eswapplyvportrxmode+0x10c/0x200 [mlx5core] eswupdatevportrxmode+0xb4/0x180 [mlx5core] eswvportchangehandlelocked+0x1ec/0x230 [mlx5core] eswenablevport+0x130/0x260 [mlx5core] mlx5eswitchenablesriov+0x2a0/0x2f0 [mlx5core] mlx5deviceenablesriov+0x74/0x440 [mlx5core] mlx5loadone+0x114c/0x1550 [mlx5core] mlx5pciresume+0x68/0xf0 [mlx5core] eehreportresume+0x1a4/0x230 eehpedevtraverse+0x98/0x170 eehhandlenormalevent+0x3e4/0x640 eehhandleevent+0x4c/0x370 eeheventhandler+0x14c/0x210 kthread+0x168/0x1b0 retfromkernel_thread+0x5c/0x84
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53079.json"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53079.json"
[
{
"id": "CVE-2023-53079-27f1f631",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6f5780536181d1d0d09a11a1bc92f22e143447e2",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "32087105923764924500910443317004489043",
"length": 607.0
},
"target": {
"function": "mlx5_esw_vport_disable",
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-3049af7e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@63546395a0e6ac264f78f65218086ce6014b4494",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "32087105923764924500910443317004489043",
"length": 607.0
},
"target": {
"function": "mlx5_esw_vport_disable",
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-4737a8d5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6f5780536181d1d0d09a11a1bc92f22e143447e2",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"272220963242366273333573429911198134145",
"198595333120200438049117030307010162766",
"83615848284706680995915033614799780384",
"127590382340668822682248343492444710052"
]
},
"target": {
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-4ac5d7f0",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4df1f2d36bdc9a368650bf14b9097c555e95f71d",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"272220963242366273333573429911198134145",
"198595333120200438049117030307010162766",
"83615848284706680995915033614799780384",
"127590382340668822682248343492444710052"
]
},
"target": {
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-667a4580",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4df1f2d36bdc9a368650bf14b9097c555e95f71d",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "32087105923764924500910443317004489043",
"length": 607.0
},
"target": {
"function": "mlx5_esw_vport_disable",
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-7adb4aad",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@18cead61e437f4c7898acca0a5f3df12f801d97f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "228724839796749686755204017651211991533",
"length": 458.0
},
"target": {
"function": "esw_disable_vport",
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-8a1903ac",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@922f56e9a795d6f3dd72d3428ebdd7ee040fa855",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "32087105923764924500910443317004489043",
"length": 607.0
},
"target": {
"function": "mlx5_esw_vport_disable",
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-b942e8ee",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@18cead61e437f4c7898acca0a5f3df12f801d97f",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"131598570207533808471787093070649690405",
"256902869067254259212266213422640774040",
"83615848284706680995915033614799780384",
"127590382340668822682248343492444710052"
]
},
"target": {
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-df68a58e",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@63546395a0e6ac264f78f65218086ce6014b4494",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"272220963242366273333573429911198134145",
"198595333120200438049117030307010162766",
"83615848284706680995915033614799780384",
"127590382340668822682248343492444710052"
]
},
"target": {
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
},
{
"id": "CVE-2023-53079-e985d963",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@922f56e9a795d6f3dd72d3428ebdd7ee040fa855",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"272220963242366273333573429911198134145",
"198595333120200438049117030307010162766",
"83615848284706680995915033614799780384",
"127590382340668822682248343492444710052"
]
},
"target": {
"file": "drivers/net/ethernet/mellanox/mlx5/core/eswitch.c"
}
}
]