CVE-2026-80739 (GCVE-0-2026-80739)
Vulnerability from cvelistv5 – Published: 2026-09-03 08:21 – Updated: 2026-09-03 08:21
VLAI
EPSS
VEX
Title
net/mlx5e: TC, Check if flow is PEER before acquiring devcom lock
Summary
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: TC, Check if flow is PEER before acquiring devcom lock
In case __mlx5e_add_fdb_flow() fails in lower levels, the flow is
deleted via mlx5e_tc_del_flow(), and mlx5e_tc_del_flow() is acquiring
ESW devcom lock without condition. In addition, in case of peer_flow,
__mlx5e_add_fdb_flow() is called while holding ESW devcom comp lock.
This results in an AA deadlock.
To fix this, introduce a new PEER flag that is set on flows created as
peer flows (the duplicate flows on peer devices), and check it in
mlx5e_tc_del_flow() before acquiring ESW devcom lock.
Lockdep splat:
============================================
WARNING: possible recursive locking detected
============================================
Possible unsafe locking scenario:
CPU0
----
lock(&comp->lock_key#2);
lock(&comp->lock_key#2);
*** DEADLOCK ***
Call Trace:
<TASK>
dump_stack_lvl+0x69/0xa0
print_deadlock_bug.cold+0xbd/0xca
__lock_acquire+0x1671/0x2ec0
lock_acquire+0x10e/0x2e0
down_read+0x95/0x430
mlx5_devcom_for_each_peer_begin+0x4e/0xe0 [mlx5_core]
mlx5e_tc_del_flow+0x11d/0xa70 [mlx5_core]
mlx5e_flow_put+0x99/0x100 [mlx5_core]
__mlx5e_add_fdb_flow+0x409/0xf00 [mlx5_core]
mlx5e_configure_flower+0x2a86/0x4100 [mlx5_core]
mlx5e_rep_setup_tc_cls_flower+0x12f/0x1b0 [mlx5_core]
mlx5e_rep_setup_tc_cb+0x153/0x750 [mlx5_core]
tc_setup_cb_add+0x1dc/0x470
fl_change+0x2f4d/0x626d [cls_flower]
tc_new_tfilter+0x79b/0x2310
rtnetlink_rcv_msg+0x778/0xad0
do_syscall_64+0x70/0x960
entry_SYSCALL_64_after_hwframe+0x4b/0x53
</TASK>
Severity
No CVSS data available.
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d , < 607adbda01053abf5f93e322fe39325da8828cb8
(git)
Affected: 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d , < 585df8643081e6f616579bc52cd49ac823a57c82 (git) Affected: 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d , < ff9e7d5e3500be389ce7a0e46db3a77149830bc9 (git) Affected: 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d , < 7165fe321c61ec138850c02f030f274797761f5f (git) Affected: 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d , < 6ddfba2ea98db21b001e0e5c472499156224650c (git) |
guessed | |
| Linux | Linux |
Affected:
5.0
Unaffected: 0 , < 5.0 (semver) Unaffected: 6.6.152 , ≤ 6.6.* (semver) Unaffected: 6.12.104 , ≤ 6.12.* (semver) Unaffected: 6.18.45 , ≤ 6.18.* (semver) Unaffected: 7.1.9 , ≤ 7.1.* (semver) Unaffected: 7.2 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h",
"drivers/net/ethernet/mellanox/mlx5/core/en_tc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "607adbda01053abf5f93e322fe39325da8828cb8",
"status": "affected",
"version": "04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d",
"versionType": "git"
},
{
"lessThan": "585df8643081e6f616579bc52cd49ac823a57c82",
"status": "affected",
"version": "04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d",
"versionType": "git"
},
{
"lessThan": "ff9e7d5e3500be389ce7a0e46db3a77149830bc9",
"status": "affected",
"version": "04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d",
"versionType": "git"
},
{
"lessThan": "7165fe321c61ec138850c02f030f274797761f5f",
"status": "affected",
"version": "04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d",
"versionType": "git"
},
{
"lessThan": "6ddfba2ea98db21b001e0e5c472499156224650c",
"status": "affected",
"version": "04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h",
"drivers/net/ethernet/mellanox/mlx5/core/en_tc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.0"
},
{
"lessThan": "5.0",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.152",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.104",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.45",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.152",
"versionStartIncluding": "5.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.104",
"versionStartIncluding": "5.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.45",
"versionStartIncluding": "5.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.9",
"versionStartIncluding": "5.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "5.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: TC, Check if flow is PEER before acquiring devcom lock\n\nIn case __mlx5e_add_fdb_flow() fails in lower levels, the flow is\ndeleted via mlx5e_tc_del_flow(), and mlx5e_tc_del_flow() is acquiring\nESW devcom lock without condition. In addition, in case of peer_flow,\n__mlx5e_add_fdb_flow() is called while holding ESW devcom comp lock.\nThis results in an AA deadlock.\n\nTo fix this, introduce a new PEER flag that is set on flows created as\npeer flows (the duplicate flows on peer devices), and check it in\nmlx5e_tc_del_flow() before acquiring ESW devcom lock.\n\nLockdep splat:\n============================================\nWARNING: possible recursive locking detected\n============================================\n Possible unsafe locking scenario:\n CPU0\n ----\n lock(\u0026comp-\u003elock_key#2);\n lock(\u0026comp-\u003elock_key#2);\n *** DEADLOCK ***\nCall Trace:\n \u003cTASK\u003e\n dump_stack_lvl+0x69/0xa0\n print_deadlock_bug.cold+0xbd/0xca\n __lock_acquire+0x1671/0x2ec0\n lock_acquire+0x10e/0x2e0\n down_read+0x95/0x430\n mlx5_devcom_for_each_peer_begin+0x4e/0xe0 [mlx5_core]\n mlx5e_tc_del_flow+0x11d/0xa70 [mlx5_core]\n mlx5e_flow_put+0x99/0x100 [mlx5_core]\n __mlx5e_add_fdb_flow+0x409/0xf00 [mlx5_core]\n mlx5e_configure_flower+0x2a86/0x4100 [mlx5_core]\n mlx5e_rep_setup_tc_cls_flower+0x12f/0x1b0 [mlx5_core]\n mlx5e_rep_setup_tc_cb+0x153/0x750 [mlx5_core]\n tc_setup_cb_add+0x1dc/0x470\n fl_change+0x2f4d/0x626d [cls_flower]\n tc_new_tfilter+0x79b/0x2310\n rtnetlink_rcv_msg+0x778/0xad0\n do_syscall_64+0x70/0x960\n entry_SYSCALL_64_after_hwframe+0x4b/0x53\n \u003c/TASK\u003e"
}
],
"providerMetadata": {
"dateUpdated": "2026-09-03T08:21:53.739Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/607adbda01053abf5f93e322fe39325da8828cb8"
},
{
"url": "https://git.kernel.org/stable/c/585df8643081e6f616579bc52cd49ac823a57c82"
},
{
"url": "https://git.kernel.org/stable/c/ff9e7d5e3500be389ce7a0e46db3a77149830bc9"
},
{
"url": "https://git.kernel.org/stable/c/7165fe321c61ec138850c02f030f274797761f5f"
},
{
"url": "https://git.kernel.org/stable/c/6ddfba2ea98db21b001e0e5c472499156224650c"
}
],
"title": "net/mlx5e: TC, Check if flow is PEER before acquiring devcom lock",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-80739",
"datePublished": "2026-09-03T08:21:53.739Z",
"dateReserved": "2026-08-26T14:34:25.789Z",
"dateUpdated": "2026-09-03T08:21:53.739Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-80739",
"date": "2026-09-03",
"epss": "0.002",
"percentile": "0.0982"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-80739\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-09-03T13:06:13.040\",\"lastModified\":\"2026-09-03T13:06:13.040\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet/mlx5e: TC, Check if flow is PEER before acquiring devcom lock\\n\\nIn case __mlx5e_add_fdb_flow() fails in lower levels, the flow is\\ndeleted via mlx5e_tc_del_flow(), and mlx5e_tc_del_flow() is acquiring\\nESW devcom lock without condition. In addition, in case of peer_flow,\\n__mlx5e_add_fdb_flow() is called while holding ESW devcom comp lock.\\nThis results in an AA deadlock.\\n\\nTo fix this, introduce a new PEER flag that is set on flows created as\\npeer flows (the duplicate flows on peer devices), and check it in\\nmlx5e_tc_del_flow() before acquiring ESW devcom lock.\\n\\nLockdep splat:\\n============================================\\nWARNING: possible recursive locking detected\\n============================================\\n Possible unsafe locking scenario:\\n CPU0\\n ----\\n lock(\u0026comp-\u003elock_key#2);\\n lock(\u0026comp-\u003elock_key#2);\\n *** DEADLOCK ***\\nCall Trace:\\n \u003cTASK\u003e\\n dump_stack_lvl+0x69/0xa0\\n print_deadlock_bug.cold+0xbd/0xca\\n __lock_acquire+0x1671/0x2ec0\\n lock_acquire+0x10e/0x2e0\\n down_read+0x95/0x430\\n mlx5_devcom_for_each_peer_begin+0x4e/0xe0 [mlx5_core]\\n mlx5e_tc_del_flow+0x11d/0xa70 [mlx5_core]\\n mlx5e_flow_put+0x99/0x100 [mlx5_core]\\n __mlx5e_add_fdb_flow+0x409/0xf00 [mlx5_core]\\n mlx5e_configure_flower+0x2a86/0x4100 [mlx5_core]\\n mlx5e_rep_setup_tc_cls_flower+0x12f/0x1b0 [mlx5_core]\\n mlx5e_rep_setup_tc_cb+0x153/0x750 [mlx5_core]\\n tc_setup_cb_add+0x1dc/0x470\\n fl_change+0x2f4d/0x626d [cls_flower]\\n tc_new_tfilter+0x79b/0x2310\\n rtnetlink_rcv_msg+0x778/0xad0\\n do_syscall_64+0x70/0x960\\n entry_SYSCALL_64_after_hwframe+0x4b/0x53\\n \u003c/TASK\u003e\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h\",\"drivers/net/ethernet/mellanox/mlx5/core/en_tc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d\",\"lessThan\":\"607adbda01053abf5f93e322fe39325da8828cb8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d\",\"lessThan\":\"585df8643081e6f616579bc52cd49ac823a57c82\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d\",\"lessThan\":\"ff9e7d5e3500be389ce7a0e46db3a77149830bc9\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d\",\"lessThan\":\"7165fe321c61ec138850c02f030f274797761f5f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d\",\"lessThan\":\"6ddfba2ea98db21b001e0e5c472499156224650c\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h\",\"drivers/net/ethernet/mellanox/mlx5/core/en_tc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.0\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.0\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.152\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.104\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.45\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.9\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/585df8643081e6f616579bc52cd49ac823a57c82\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/607adbda01053abf5f93e322fe39325da8828cb8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6ddfba2ea98db21b001e0e5c472499156224650c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7165fe321c61ec138850c02f030f274797761f5f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ff9e7d5e3500be389ce7a0e46db3a77149830bc9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Loading…
Loading…