CVE-2024-50059 (GCVE-0-2024-50059)
Vulnerability from cvelistv5 – Published: 2024-10-21 19:39 – Updated: 2026-08-05 11:41
VLAI
EPSS
VEX
Title
ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition
Summary
In the Linux kernel, the following vulnerability has been resolved:
ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition
In the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev
function, then &sndev->check_link_status_work is bound with
check_link_status_work. switchtec_ntb_link_notification may be called
to start the work.
If we remove the module which will call switchtec_ntb_remove to make
cleanup, it will free sndev through kfree(sndev), while the work
mentioned above will be used. The sequence of operations that may lead
to a UAF bug is as follows:
CPU0 CPU1
| check_link_status_work
switchtec_ntb_remove |
kfree(sndev); |
| if (sndev->link_force_down)
| // use sndev
Fix it by ensuring that the work is canceled before proceeding with
the cleanup in switchtec_ntb_remove.
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-10-22 13:23 UTC
Assigner
References
9 references
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 , < 5126d8f5567f49b52e21fca320eaa97977055099
(git)
Affected: d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 , < b650189687822b705711f0567a65a164a314d8df (git) Affected: d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 , < 92728fceefdaa2a0a3aae675f86193b006eeaa43 (git) Affected: d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 , < 3ae45be8492460a35b5aebf6acac1f1d32708946 (git) Affected: d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 , < fa840ba4bd9f3bad7f104e5b32028ee73af8b3dd (git) Affected: d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 , < 177925d9c8715a897bb79eca62628862213ba956 (git) Affected: d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9 , < e51aded92d42784313ba16c12f4f88cc4f973bbb (git) |
guessed | |
| Linux | Linux |
Affected:
4.16
Unaffected: 0 , < 4.16 (semver) Unaffected: 5.4.285 , ≤ 5.4.* (semver) Unaffected: 5.10.227 , ≤ 5.10.* (semver) Unaffected: 5.15.168 , ≤ 5.15.* (semver) Unaffected: 6.1.113 , ≤ 6.1.* (semver) Unaffected: 6.6.57 , ≤ 6.6.* (semver) Unaffected: 6.11.4 , ≤ 6.11.* (semver) Unaffected: 6.12 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2024-50059",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-10-22T13:23:07.094134Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-10-22T13:28:42.461Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2025-11-03T22:24:58.655Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"
},
{
"url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/ntb/hw/mscc/ntb_hw_switchtec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "5126d8f5567f49b52e21fca320eaa97977055099",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "b650189687822b705711f0567a65a164a314d8df",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "92728fceefdaa2a0a3aae675f86193b006eeaa43",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "3ae45be8492460a35b5aebf6acac1f1d32708946",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "fa840ba4bd9f3bad7f104e5b32028ee73af8b3dd",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "177925d9c8715a897bb79eca62628862213ba956",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "e51aded92d42784313ba16c12f4f88cc4f973bbb",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/ntb/hw/mscc/ntb_hw_switchtec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.16"
},
{
"lessThan": "4.16",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.285",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.227",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.168",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.113",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.57",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.11.*",
"status": "unaffected",
"version": "6.11.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.12",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.4.285",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.227",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.168",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.113",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.57",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.11.4",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12",
"versionStartIncluding": "4.16",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition\n\nIn the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev\nfunction, then \u0026sndev-\u003echeck_link_status_work is bound with\ncheck_link_status_work. switchtec_ntb_link_notification may be called\nto start the work.\n\nIf we remove the module which will call switchtec_ntb_remove to make\ncleanup, it will free sndev through kfree(sndev), while the work\nmentioned above will be used. The sequence of operations that may lead\nto a UAF bug is as follows:\n\nCPU0 CPU1\n\n | check_link_status_work\nswitchtec_ntb_remove |\nkfree(sndev); |\n | if (sndev-\u003elink_force_down)\n | // use sndev\n\nFix it by ensuring that the work is canceled before proceeding with\nthe cleanup in switchtec_ntb_remove."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The freeing side of the race is driver teardown, entered only through local actions \u2014 `rmmod ntb_hw_switchtec`, a write to `/sys/bus/pci/drivers/switchtec/unbind`, or `/sys/bus/pci/devices/.../remove` \u2014 and the racing side arrives over the PCIe/NTB fabric rather than a network stack. No network or adjacent-network protocol reaches this code, so local system access is the entry point.\nAC:L - The attacker controls both sides: the NTB peer host (or a local user driving the Switchtec management device) can send `LINK_MESSAGE`/`MSG_LINK_FORCE_DOWN` continuously so `check_link_status_work` is always pending, and `switchtec_ntb_part_op()` then sleeps up to 1000\u00d750 ms inside the object, holding the window open for tens of seconds while teardown is triggered. Bind/unbind can also be repeated indefinitely, so success depends on nothing outside the attacker\u0027s influence.\nPR:L - The side that keeps the work item live requires no privilege \u2014 it is driven by the NTB peer host\u0027s link messages, by PCIe link-state events, or by non-CAP_SYS_ADMIN MRPC commands on `/dev/switchtecN` (the driver explicitly gates only GAS read/write on CAP_SYS_ADMIN) \u2014 while the `kfree()` occurs on any device removal, including surprise PCIe hot-remove and routine administrative unbind. Consistent with the scoring of the equivalent driver remove-path work-item UAFs (e.g. CVE-2024-57984), low local privileges are the defensible assumption.\nUI:N - The removal and the link-message traffic are both initiated by the attacker or generated autonomously by the PCIe hardware; no victim must mount a filesystem, open a file, or take any other action. Exploitation completes entirely from the attacker\u0027s own operations.\nS:U - The use-after-free corrupts kernel heap state and is exploited within the same kernel security authority that owns the driver. No hypervisor, IOMMU, or sandbox boundary is crossed by the vulnerability itself.\nC:H - After `kfree(sndev)` the worker reads `link_force_down`, `mmio_ntb`, `mmio_peer_ctrl`, `mmio_peer_dbmsg`, `self_shared_dma`, `peer_direct_mw_to_bar[]` and `stdev-\u003edev` back out of freed memory, and the ~50-second sleep inside `switchtec_ntb_part_op()` makes slab reclaim by an attacker-sprayed object highly practical, converting the dangling object into a controlled kernel read primitive. Per use-after-free scoring guidance this is High.\nI:H - `ntb_link_event()` performs `ntb-\u003ectx_ops-\u003elink_event(ntb-\u003ectx)` \u2014 an indirect branch through a function pointer read from freed memory \u2014 and `config_rsvd_lut_win()` issues `iowrite32`/`iowrite64` to `\u0026ctl-\u003ebar_entry[peer_bar]`/`\u0026ctl-\u003elut_entry[]` with base pointer, index and payload all taken from the freed object, giving both control-flow hijack and a controlled write (including reprogramming of the NTB DMA translation window) after heap spraying.\nA:H - Even without successful exploitation, the worker takes a spinlock in freed memory, dereferences freed `__iomem` pointers and touches the device after teardown, and the concurrent `link_notifier`/`sndev` NULL stores add a NULL-pointer dereference path \u2014 any of which produces a kernel oops or panic."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T11:41:18.294Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/5126d8f5567f49b52e21fca320eaa97977055099"
},
{
"url": "https://git.kernel.org/stable/c/b650189687822b705711f0567a65a164a314d8df"
},
{
"url": "https://git.kernel.org/stable/c/92728fceefdaa2a0a3aae675f86193b006eeaa43"
},
{
"url": "https://git.kernel.org/stable/c/3ae45be8492460a35b5aebf6acac1f1d32708946"
},
{
"url": "https://git.kernel.org/stable/c/fa840ba4bd9f3bad7f104e5b32028ee73af8b3dd"
},
{
"url": "https://git.kernel.org/stable/c/177925d9c8715a897bb79eca62628862213ba956"
},
{
"url": "https://git.kernel.org/stable/c/e51aded92d42784313ba16c12f4f88cc4f973bbb"
}
],
"title": "ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-50059",
"datePublished": "2024-10-21T19:39:49.079Z",
"dateReserved": "2024-10-21T19:36:19.939Z",
"dateUpdated": "2026-08-05T11:41:18.294Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2024-50059",
"date": "2026-11-01",
"epss": "0.00234",
"percentile": "0.14401"
},
"microsoft_vex": {
"current_release_date": "2026-02-18T01:10:15.000Z",
"cve": "CVE-2024-50059",
"id": "msrc_CVE-2024-50059",
"initial_release_date": "2024-10-01T07:00:00.000Z",
"product_status:fixed": "5",
"product_status:known_affected": "5",
"source": "Microsoft CSAF VEX",
"status": "final",
"title": "ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition",
"url": "https://msrc.microsoft.com/csaf/vex/2024/msrc_cve-2024-50059.json",
"version": "3"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/ntb/hw/mscc/ntb_hw_switchtec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "5126d8f5567f49b52e21fca320eaa97977055099",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "b650189687822b705711f0567a65a164a314d8df",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "92728fceefdaa2a0a3aae675f86193b006eeaa43",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "3ae45be8492460a35b5aebf6acac1f1d32708946",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "fa840ba4bd9f3bad7f104e5b32028ee73af8b3dd",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "177925d9c8715a897bb79eca62628862213ba956",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "e51aded92d42784313ba16c12f4f88cc4f973bbb",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/ntb/hw/mscc/ntb_hw_switchtec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.16"
},
{
"lessThan": "4.16",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.285",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.227",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.168",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.113",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.57",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.11.*",
"status": "unaffected",
"version": "6.11.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.12",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "EB525A44-6338-4857-AD90-EA2860D1AD1F",
"versionEndExcluding": "5.10.227",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "4D51C05D-455B-4D8D-89E7-A58E140B864C",
"versionEndExcluding": "5.15.168",
"versionStartIncluding": "5.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "D01BD22E-ACD1-4618-9D01-6116570BE1EE",
"versionEndExcluding": "6.1.113",
"versionStartIncluding": "5.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "05D83DB8-7465-4F88-AFB2-980011992AC1",
"versionEndExcluding": "6.6.57",
"versionStartIncluding": "6.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "AA84D336-CE9A-4535-B901-1AD77EC17C34",
"versionEndExcluding": "6.11.4",
"versionStartIncluding": "6.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition\n\nIn the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev\nfunction, then \u0026sndev-\u003echeck_link_status_work is bound with\ncheck_link_status_work. switchtec_ntb_link_notification may be called\nto start the work.\n\nIf we remove the module which will call switchtec_ntb_remove to make\ncleanup, it will free sndev through kfree(sndev), while the work\nmentioned above will be used. The sequence of operations that may lead\nto a UAF bug is as follows:\n\nCPU0 CPU1\n\n | check_link_status_work\nswitchtec_ntb_remove |\nkfree(sndev); |\n | if (sndev-\u003elink_force_down)\n | // use sndev\n\nFix it by ensuring that the work is canceled before proceeding with\nthe cleanup in switchtec_ntb_remove."
},
{
"lang": "es",
"value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ntb: ntb_hw_switchtec: Se corrige la vulnerabilidad de use after free en switchtec_ntb_remove debido a la condici\u00f3n de ejecuci\u00f3n En la funci\u00f3n switchtec_ntb_add, puede llamar a la funci\u00f3n switchtec_ntb_init_sndev, luego \u0026amp;sndev-\u0026gt;check_link_status_work se vincula con check_link_status_work. Se puede llamar a switchtec_ntb_link_notification para iniciar el trabajo. Si eliminamos el m\u00f3dulo que llamar\u00e1 a switchtec_ntb_remove para realizar la limpieza, liberar\u00e1 sndev a trav\u00e9s de kfree(sndev), mientras que se utilizar\u00e1 el trabajo mencionado anteriormente. La secuencia de operaciones que puede llevar a un error de UAF es la siguiente: CPU0 CPU1 | check_link_status_work switchtec_ntb_remove | kfree(sndev); | | if (sndev-\u0026gt;link_force_down) | // use sndev Arr\u00e9glelo asegur\u00e1ndose de que el trabajo se cancele antes de continuar con la limpieza en switchtec_ntb_remove."
}
],
"id": "CVE-2024-50059",
"lastModified": "2026-08-04T11:21:13.347",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
},
{
"cvssData": {
"attackComplexity": "HIGH",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.0,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.0,
"impactScore": 5.9,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2024-50059",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-10-22T13:23:07.094134Z",
"version": "2.0.3"
}
}
]
},
"published": "2024-10-21T20:15:18.057",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/177925d9c8715a897bb79eca62628862213ba956"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/3ae45be8492460a35b5aebf6acac1f1d32708946"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/5126d8f5567f49b52e21fca320eaa97977055099"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/92728fceefdaa2a0a3aae675f86193b006eeaa43"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/b650189687822b705711f0567a65a164a314d8df"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/e51aded92d42784313ba16c12f4f88cc4f973bbb"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/fa840ba4bd9f3bad7f104e5b32028ee73af8b3dd"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Modified",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-416"
}
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
},
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-09-13T15:52:52+00:00",
"cve": "CVE-2024-50059",
"id": "CVE-2024-50059",
"initial_release_date": "2024-10-21T00:00:00+00:00",
"product_status:known_not_affected": "198",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-50059.json",
"version": "3"
},
"vulnrichment": {
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2025-11-03T22:24:58.655Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"
},
{
"url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
}
],
"title": "CVE Program Container"
},
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2024-50059",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-10-22T13:23:07.094134Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-10-22T13:23:10.327Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/ntb/hw/mscc/ntb_hw_switchtec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "5126d8f5567f49b52e21fca320eaa97977055099",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "b650189687822b705711f0567a65a164a314d8df",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "92728fceefdaa2a0a3aae675f86193b006eeaa43",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "3ae45be8492460a35b5aebf6acac1f1d32708946",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "fa840ba4bd9f3bad7f104e5b32028ee73af8b3dd",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "177925d9c8715a897bb79eca62628862213ba956",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
},
{
"lessThan": "e51aded92d42784313ba16c12f4f88cc4f973bbb",
"status": "affected",
"version": "d04be142b8b61ffb3c9cc5c6d1abda8fc59a16c9",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/ntb/hw/mscc/ntb_hw_switchtec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "4.16"
},
{
"lessThan": "4.16",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"version": "5.4.285",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.227",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.168",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.113",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.57",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.11.*",
"status": "unaffected",
"version": "6.11.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.12",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.4.285",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.227",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.168",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.113",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.57",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.11.4",
"versionStartIncluding": "4.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12",
"versionStartIncluding": "4.16",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition\n\nIn the switchtec_ntb_add function, it can call switchtec_ntb_init_sndev\nfunction, then \u0026sndev-\u003echeck_link_status_work is bound with\ncheck_link_status_work. switchtec_ntb_link_notification may be called\nto start the work.\n\nIf we remove the module which will call switchtec_ntb_remove to make\ncleanup, it will free sndev through kfree(sndev), while the work\nmentioned above will be used. The sequence of operations that may lead\nto a UAF bug is as follows:\n\nCPU0 CPU1\n\n | check_link_status_work\nswitchtec_ntb_remove |\nkfree(sndev); |\n | if (sndev-\u003elink_force_down)\n | // use sndev\n\nFix it by ensuring that the work is canceled before proceeding with\nthe cleanup in switchtec_ntb_remove."
}
],
"providerMetadata": {
"dateUpdated": "2026-01-05T10:54:57.871Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/5126d8f5567f49b52e21fca320eaa97977055099"
},
{
"url": "https://git.kernel.org/stable/c/b650189687822b705711f0567a65a164a314d8df"
},
{
"url": "https://git.kernel.org/stable/c/92728fceefdaa2a0a3aae675f86193b006eeaa43"
},
{
"url": "https://git.kernel.org/stable/c/3ae45be8492460a35b5aebf6acac1f1d32708946"
},
{
"url": "https://git.kernel.org/stable/c/fa840ba4bd9f3bad7f104e5b32028ee73af8b3dd"
},
{
"url": "https://git.kernel.org/stable/c/177925d9c8715a897bb79eca62628862213ba956"
},
{
"url": "https://git.kernel.org/stable/c/e51aded92d42784313ba16c12f4f88cc4f973bbb"
}
],
"title": "ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-50059",
"datePublished": "2024-10-21T19:39:49.079Z",
"dateReserved": "2024-10-21T19:36:19.939Z",
"dateUpdated": "2026-01-05T10:54:57.871Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
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.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
Loading…
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.
Browse all ATT&CK techniques and the vulnerabilities related to each.
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.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.