CVE-2024-36973 (GCVE-0-2024-36973)
Vulnerability from cvelistv5
Published
2024-06-17 17:51
Modified
2026-08-05 11:32
Summary
In the Linux kernel, the following vulnerability has been resolved: misc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe() When auxiliary_device_add() returns error and then calls auxiliary_device_uninit(), callback function gp_auxiliary_device_release() calls ida_free() and kfree(aux_device_wrapper) to free memory. We should't call them again in the error handling path. Fix this by skipping the redundant cleanup functions.
Impacted products
Vendor Product Version
Linux Linux Version: 393fc2f5948fd340d016a9557eea6e1ac2f6c60c
Version: 393fc2f5948fd340d016a9557eea6e1ac2f6c60c
Version: 393fc2f5948fd340d016a9557eea6e1ac2f6c60c
Version: 393fc2f5948fd340d016a9557eea6e1ac2f6c60c
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-36973",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-06-17T20:17:26.989474Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-17T20:17:41.960Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T21:55:29.203Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/34ae447b138680b5ed3660f7d935ff3faf88ba1a"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/86c9713602f786f441630c4ee02891987f8618b9"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/1efe551982297924d05a367aa2b6ec3d275d5742"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/086c6cbcc563c81d55257f9b27e14faf1d0963d3"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "34ae447b138680b5ed3660f7d935ff3faf88ba1a",
              "status": "affected",
              "version": "393fc2f5948fd340d016a9557eea6e1ac2f6c60c",
              "versionType": "git"
            },
            {
              "lessThan": "86c9713602f786f441630c4ee02891987f8618b9",
              "status": "affected",
              "version": "393fc2f5948fd340d016a9557eea6e1ac2f6c60c",
              "versionType": "git"
            },
            {
              "lessThan": "1efe551982297924d05a367aa2b6ec3d275d5742",
              "status": "affected",
              "version": "393fc2f5948fd340d016a9557eea6e1ac2f6c60c",
              "versionType": "git"
            },
            {
              "lessThan": "086c6cbcc563c81d55257f9b27e14faf1d0963d3",
              "status": "affected",
              "version": "393fc2f5948fd340d016a9557eea6e1ac2f6c60c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.1"
            },
            {
              "lessThan": "6.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.95",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.35",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.10",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.95",
                  "versionStartIncluding": "6.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.35",
                  "versionStartIncluding": "6.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.9.6",
                  "versionStartIncluding": "6.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10",
                  "versionStartIncluding": "6.1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmisc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe()\n\nWhen auxiliary_device_add() returns error and then calls\nauxiliary_device_uninit(), callback function\ngp_auxiliary_device_release() calls ida_free() and\nkfree(aux_device_wrapper) to free memory. We should\u0027t\ncall them again in the error handling path.\n\nFix this by skipping the redundant cleanup functions."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.4,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The flaw is in a PCI driver\u0027s probe path, reached through local device enumeration/hotplug or driver (re)bind on the machine itself, not through any network protocol. This matches the treatment of other driver probe-path double-free/UAF flaws in this subsystem class.\nAC:L - The error path is deterministic \u2014 an endpoint presenting the matching IDs with no MSI-X/MSI capability and no INTx pin makes pci_alloc_irq_vectors() return -ENOSPC every time, falling straight through into the double free with no race to win and no memory-layout precondition outside the attacker\u0027s control.\nPR:N - The vulnerable code runs autonomously during PCI probe at boot or on hotplug enumeration; the attacker needs no account, credentials, or capability on the system for the driver to auto-load and execute the faulty error path.\nUI:N - Probe is invoked automatically by the PCI core and udev-driven module autoload on device enumeration; no logged-in user has to open, mount, or interact with anything.\nS:U - The corruption is confined to the kernel\u0027s own heap and device model, within the same security authority as the vulnerable component; no IOMMU, hypervisor, or sandbox boundary is crossed.\nC:H - After the release callback frees the wrapper, the code reads aux_dev.id back out of freed memory and a still-registered struct device is left pointing at the freed allocation, so reclaimed heap contents can be read back through the auxiliary bus/sysfs \u2014 a use-after-free read primitive.\nI:H - The same kmalloc\u0027d object is freed twice, corrupting the slab freelist and allowing the attacker to have one allocation handed out to two owners (type confusion), the classic route to an arbitrary kernel write and control-flow hijack; a live sysfs-registered device over freed memory compounds this.\nA:H - The double free plus use-after-free reliably corrupts slab state and trips freelist/KASAN checks, producing a kernel oops or panic; the dangling registered auxiliary device can crash the box on any later access."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:32:24.325Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/34ae447b138680b5ed3660f7d935ff3faf88ba1a"
        },
        {
          "url": "https://git.kernel.org/stable/c/86c9713602f786f441630c4ee02891987f8618b9"
        },
        {
          "url": "https://git.kernel.org/stable/c/1efe551982297924d05a367aa2b6ec3d275d5742"
        },
        {
          "url": "https://git.kernel.org/stable/c/086c6cbcc563c81d55257f9b27e14faf1d0963d3"
        }
      ],
      "title": "misc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-36973",
    "datePublished": "2024-06-17T17:51:52.112Z",
    "dateReserved": "2024-05-30T15:25:07.082Z",
    "dateUpdated": "2026-08-05T11:32:24.325Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/34ae447b138680b5ed3660f7d935ff3faf88ba1a\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/86c9713602f786f441630c4ee02891987f8618b9\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/1efe551982297924d05a367aa2b6ec3d275d5742\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/086c6cbcc563c81d55257f9b27e14faf1d0963d3\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-11-03T21:55:29.203Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-36973\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-06-17T20:17:26.989474Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-06-17T20:17:36.665Z\"}}], \"cna\": {\"title\": \"misc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe()\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"393fc2f5948fd340d016a9557eea6e1ac2f6c60c\", \"lessThan\": \"34ae447b138680b5ed3660f7d935ff3faf88ba1a\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"393fc2f5948fd340d016a9557eea6e1ac2f6c60c\", \"lessThan\": \"86c9713602f786f441630c4ee02891987f8618b9\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"393fc2f5948fd340d016a9557eea6e1ac2f6c60c\", \"lessThan\": \"1efe551982297924d05a367aa2b6ec3d275d5742\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"393fc2f5948fd340d016a9557eea6e1ac2f6c60c\", \"lessThan\": \"086c6cbcc563c81d55257f9b27e14faf1d0963d3\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"6.1\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.1\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.95\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.35\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9.6\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.9.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/34ae447b138680b5ed3660f7d935ff3faf88ba1a\"}, {\"url\": \"https://git.kernel.org/stable/c/86c9713602f786f441630c4ee02891987f8618b9\"}, {\"url\": \"https://git.kernel.org/stable/c/1efe551982297924d05a367aa2b6ec3d275d5742\"}, {\"url\": \"https://git.kernel.org/stable/c/086c6cbcc563c81d55257f9b27e14faf1d0963d3\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmisc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe()\\n\\nWhen auxiliary_device_add() returns error and then calls\\nauxiliary_device_uninit(), callback function\\ngp_auxiliary_device_release() calls ida_free() and\\nkfree(aux_device_wrapper) to free memory. We should\u0027t\\ncall them again in the error handling path.\\n\\nFix this by skipping the redundant cleanup functions.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.95\", \"versionStartIncluding\": \"6.1\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.35\", \"versionStartIncluding\": \"6.1\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.9.6\", \"versionStartIncluding\": \"6.1\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10\", \"versionStartIncluding\": \"6.1\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-05-11T20:18:11.635Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-36973\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-05-11T20:18:11.635Z\", \"dateReserved\": \"2024-05-30T15:25:07.082Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-06-17T17:51:52.112Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…