In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: DR, prevent potential error pointer dereference
The drdomainaddvportcap() function generally returns NULL on error but sometimes we want it to return ERRPTR(-EBUSY) so the caller can retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM and if it's and -ENOMEM then the error pointer is propogated back and eventually dereferenced in drstev0buildsrcgvmiqpntag().
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@61f720e801443d4e2a3c0261eda4ad8431458dca",
"digest": {
"line_hashes": [
"161198455823291480818063214200852616859",
"61296358871316750034448817136960058486",
"63010446449728915931117945321056531047",
"69804559380991655288543739739982255536"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c"
},
"id": "CVE-2024-56660-04083644",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@11776cff0b563c8b8a4fa76cab620bfb633a8cb8",
"digest": {
"line_hashes": [
"161198455823291480818063214200852616859",
"61296358871316750034448817136960058486",
"63010446449728915931117945321056531047",
"69804559380991655288543739739982255536"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c"
},
"id": "CVE-2024-56660-7a7eaf25",
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@61f720e801443d4e2a3c0261eda4ad8431458dca",
"digest": {
"function_hash": "92281819297192132180056903638804080946",
"length": 527.0
},
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "dr_domain_add_vport_cap",
"file": "drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c"
},
"id": "CVE-2024-56660-949a7774",
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@11776cff0b563c8b8a4fa76cab620bfb633a8cb8",
"digest": {
"function_hash": "92281819297192132180056903638804080946",
"length": 527.0
},
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "dr_domain_add_vport_cap",
"file": "drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c"
},
"id": "CVE-2024-56660-95eb0012",
"signature_type": "Function"
}
]