CVE-2024-50059 (GCVE-0-2024-50059)

Vulnerability from cvelistv5 – Published: 2024-10-21 19:39 – Updated: 2026-08-05 11:41
VLAI
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.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-10-22 13:23 UTC
Impacted 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 Create a notification for this product.
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 Create a notification for this product.
Show details on NVD website

{
  "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-09-23",
      "epss": "0.00234",
      "percentile": "0.14637"
    },
    "fkie_nvd": {
      "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"
            }
          ]
        }
      ],
      "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": "2024-11-08T16:15:45.267",
      "metrics": {
        "cvssMetricV31": [
          {
            "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"
          }
        ]
      },
      "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"
        }
      ],
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Modified",
      "weaknesses": [
        {
          "description": [
            {
              "lang": "en",
              "value": "CWE-416"
            }
          ],
          "source": "nvd@nist.gov",
          "type": "Primary"
        }
      ]
    },
    "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"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-09-19T02:16:14Z",
      "cve": "CVE-2024-50059",
      "id": "CVE-2024-50059",
      "initial_release_date": "2024-10-22T02:49:31Z",
      "product_status:known_affected": "365",
      "product_status:known_not_affected": "395",
      "product_status:recommended": "638",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-50059",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-50059.json",
      "version": "72"
    },
    "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"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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…

Loading…

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.


Loading…