CVE-2024-53126 (GCVE-0-2024-53126)
Vulnerability from cvelistv5
Published
2024-12-04 14:20
Modified
2026-08-05 11:43
Summary
In the Linux kernel, the following vulnerability has been resolved: vdpa: solidrun: Fix UB bug with devres In psnet_open_pf_bar() and snet_open_vf_bar() a string later passed to pcim_iomap_regions() is placed on the stack. Neither pcim_iomap_regions() nor the functions it calls copy that string. Should the string later ever be used, this, consequently, causes undefined behavior since the stack frame will by then have disappeared. Fix the bug by allocating the strings on the heap through devm_kasprintf().
Impacted products
Vendor Product Version
Linux Linux Version: 51a8f9d7f587290944d6fc733d1f897091c63159
Version: 51a8f9d7f587290944d6fc733d1f897091c63159
Version: 51a8f9d7f587290944d6fc733d1f897091c63159
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "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"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2024-53126",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T20:10:15.577361Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "description": "CWE-noinfo Not enough information",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T20:17:10.171Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/vdpa/solidrun/snet_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d372dd09cfbf1324f54cbffd81fcaf6cdf3e608e",
              "status": "affected",
              "version": "51a8f9d7f587290944d6fc733d1f897091c63159",
              "versionType": "git"
            },
            {
              "lessThan": "5bb287da2d2d5bb8f7376e223b02edb16998982e",
              "status": "affected",
              "version": "51a8f9d7f587290944d6fc733d1f897091c63159",
              "versionType": "git"
            },
            {
              "lessThan": "0b364cf53b20204e92bac7c6ebd1ee7d3ec62931",
              "status": "affected",
              "version": "51a8f9d7f587290944d6fc733d1f897091c63159",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/vdpa/solidrun/snet_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.63",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.11.*",
              "status": "unaffected",
              "version": "6.11.10",
              "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": "6.6.63",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.11.10",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvdpa: solidrun: Fix UB bug with devres\n\nIn psnet_open_pf_bar() and snet_open_vf_bar() a string later passed to\npcim_iomap_regions() is placed on the stack. Neither\npcim_iomap_regions() nor the functions it calls copy that string.\n\nShould the string later ever be used, this, consequently, causes\nundefined behavior since the stack frame will by then have disappeared.\n\nFix the bug by allocating the strings on the heap through\ndevm_kasprintf()."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The stale pointer is dereferenced only when a local process reads /proc/iomem (or the resource tree is otherwise printed); there is no network- or adjacent-reachable path into this PCI probe-time bug.\nAC:L - On any system where the SolidNET DPU driver has probed, the dangling name pointer is unconditionally present in the iomem resource tree and is dereferenced deterministically on every /proc/iomem read, with no race or unpredictable precondition to win.\nPR:L - /proc/iomem is world-readable (mode 0444) and r_show() prints the resource name regardless of CAP_SYS_ADMIN \u2014 only masking the addresses \u2014 so a plain unprivileged local user or container tenant triggers the dereference.\nUI:N - No victim action is needed; the attacker reads /proc/iomem themselves and the dangling pointer was installed automatically at device probe.\nS:U - The stale read and any resulting oops stay within the kernel\u0027s own security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The %s dereference copies freed/reused kernel stack memory to userspace, unbounded until the first NUL byte, repeatably and at attacker-chosen timing, leaking kernel pointers (KASLR defeat) and other tasks\u0027 stack data whose content can be shaped by stack spraying.\nI:N - The dangling resource-\u003ename is only ever read for printing; nothing in the resource or PCI devres code writes through it, so no data modification or control-flow primitive arises.\nA:H - If the probing task\u0027s vmap\u0027d stack has been freed and unmapped, or the NUL-less scan runs off into a stack guard page, the unchecked kernel read page-faults with no fixup, oopsing the kernel on an unprivileged /proc/iomem read."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:43:56.206Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d372dd09cfbf1324f54cbffd81fcaf6cdf3e608e"
        },
        {
          "url": "https://git.kernel.org/stable/c/5bb287da2d2d5bb8f7376e223b02edb16998982e"
        },
        {
          "url": "https://git.kernel.org/stable/c/0b364cf53b20204e92bac7c6ebd1ee7d3ec62931"
        }
      ],
      "title": "vdpa: solidrun: Fix UB bug with devres",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-53126",
    "datePublished": "2024-12-04T14:20:30.788Z",
    "dateReserved": "2024-11-19T17:17:24.995Z",
    "dateUpdated": "2026-08-05T11:43:56.206Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.8, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-53126\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T20:10:15.577361Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"description\": \"CWE-noinfo Not enough information\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-01T15:34:35.661Z\"}}], \"cna\": {\"title\": \"vdpa: solidrun: Fix UB bug with devres\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.1, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The stale pointer is dereferenced only when a local process reads /proc/iomem (or the resource tree is otherwise printed); there is no network- or adjacent-reachable path into this PCI probe-time bug.\\nAC:L - On any system where the SolidNET DPU driver has probed, the dangling name pointer is unconditionally present in the iomem resource tree and is dereferenced deterministically on every /proc/iomem read, with no race or unpredictable precondition to win.\\nPR:L - /proc/iomem is world-readable (mode 0444) and r_show() prints the resource name regardless of CAP_SYS_ADMIN \\u2014 only masking the addresses \\u2014 so a plain unprivileged local user or container tenant triggers the dereference.\\nUI:N - No victim action is needed; the attacker reads /proc/iomem themselves and the dangling pointer was installed automatically at device probe.\\nS:U - The stale read and any resulting oops stay within the kernel\u0027s own security authority; no VM, IOMMU, or sandbox boundary is crossed.\\nC:H - The %s dereference copies freed/reused kernel stack memory to userspace, unbounded until the first NUL byte, repeatably and at attacker-chosen timing, leaking kernel pointers (KASLR defeat) and other tasks\u0027 stack data whose content can be shaped by stack spraying.\\nI:N - The dangling resource-\u003ename is only ever read for printing; nothing in the resource or PCI devres code writes through it, so no data modification or control-flow primitive arises.\\nA:H - If the probing task\u0027s vmap\u0027d stack has been freed and unmapped, or the NUL-less scan runs off into a stack guard page, the unchecked kernel read page-faults with no fixup, oopsing the kernel on an unprivileged /proc/iomem read.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"51a8f9d7f587290944d6fc733d1f897091c63159\", \"lessThan\": \"d372dd09cfbf1324f54cbffd81fcaf6cdf3e608e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"51a8f9d7f587290944d6fc733d1f897091c63159\", \"lessThan\": \"5bb287da2d2d5bb8f7376e223b02edb16998982e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"51a8f9d7f587290944d6fc733d1f897091c63159\", \"lessThan\": \"0b364cf53b20204e92bac7c6ebd1ee7d3ec62931\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/vdpa/solidrun/snet_main.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.3\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.6.63\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.11.10\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.11.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/vdpa/solidrun/snet_main.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/d372dd09cfbf1324f54cbffd81fcaf6cdf3e608e\"}, {\"url\": \"https://git.kernel.org/stable/c/5bb287da2d2d5bb8f7376e223b02edb16998982e\"}, {\"url\": \"https://git.kernel.org/stable/c/0b364cf53b20204e92bac7c6ebd1ee7d3ec62931\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nvdpa: solidrun: Fix UB bug with devres\\n\\nIn psnet_open_pf_bar() and snet_open_vf_bar() a string later passed to\\npcim_iomap_regions() is placed on the stack. Neither\\npcim_iomap_regions() nor the functions it calls copy that string.\\n\\nShould the string later ever be used, this, consequently, causes\\nundefined behavior since the stack frame will by then have disappeared.\\n\\nFix the bug by allocating the strings on the heap through\\ndevm_kasprintf().\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.63\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.11.10\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12\", \"versionStartIncluding\": \"6.3\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:43:56.206Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-53126\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:43:56.206Z\", \"dateReserved\": \"2024-11-19T17:17:24.995Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-12-04T14:20:30.788Z\", \"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…