CVE-2023-53707 (GCVE-0-2023-53707)
Vulnerability from cvelistv5
Published
2025-10-22 13:23
Modified
2026-08-05 09:15
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix integer overflow in amdgpu_cs_pass1 The type of size is unsigned int, if size is 0x40000000, there will be an integer overflow, size will be zero after size *= sizeof(uint32_t), will cause uninitialized memory to be referenced later.
Impacted products
Vendor Product Version
Linux Linux Version: d38ceaf99ed015f2a0b9af3499791bd3a3daae21
Version: d38ceaf99ed015f2a0b9af3499791bd3a3daae21
Version: d38ceaf99ed015f2a0b9af3499791bd3a3daae21
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "9f55d300541cb5b435984d269087810581580b00",
              "status": "affected",
              "version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
              "versionType": "git"
            },
            {
              "lessThan": "c3deb091398e9e469d08dd1599b6d76fd6b29df8",
              "status": "affected",
              "version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
              "versionType": "git"
            },
            {
              "lessThan": "87c2213e85bd81e4a9a4d0880c256568794ae388",
              "status": "affected",
              "version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.2"
            },
            {
              "lessThan": "4.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.47",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.47",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.12",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: Fix integer overflow in amdgpu_cs_pass1\n\nThe type of size is unsigned int, if size is 0x40000000, there will\nbe an integer overflow, size will be zero after size *= sizeof(uint32_t),\nwill cause uninitialized memory to be referenced later."
        }
      ],
      "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 vulnerability is reached only through the DRM_IOCTL_AMDGPU_CS ioctl on a local amdgpu device node (/dev/dri/renderD* or card*), requiring local access to the machine. There is no network or remote-peer path into amdgpu_cs_pass1().\nAC:L - The attacker directly supplies the overflowing value (length_dw \u003e= 0x40000000) in a single ioctl call with no race, timing, or memory-layout condition to win, and can free memory and retry to make the large allocation succeed. On the multi-GiB systems where AMD GPUs are deployed (workstations, Steam Deck, cloud GPU nodes) the allocation reliably succeeds.\nPR:L - AMDGPU_CS is registered with DRM_RENDER_ALLOW, so no DRM master, authentication, or capability is required \u2014 any unprivileged local user or sandboxed app holding an fd on the render node can invoke it, which is standard for desktop sessions, Android apps, and GPU-enabled containers.\nUI:N - Exploitation is a self-contained sequence of ioctls issued by the attacker\u0027s own process; no victim action, file open, or mount is needed.\nS:U - The corrupted state and the uninitialized data consumed all live within the kernel\u0027s own security authority on the same host; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - A multi-gigabyte kvmalloc/vmalloc buffer is left completely uninitialized and then consumed as GEM handles, BO-list descriptors, user pointers and fence offsets, exposing stale kernel/page contents; the resulting lookup success/failure and the observable fence write offset form oracles that let an attacker read back that uninitialized kernel memory.\nI:H - Uninitialized kernel memory \u2014 attacker-groomable via page spraying \u2014 is used as GPU virtual addresses, IB sizes, flags, buffer-object handles and __user pointers that drive command submission, BO list construction and the user-fence write target, giving control-relevant fields that can be steered toward memory corruption.\nA:H - An unprivileged caller can force repeated 4 GiB kernel allocations causing reclaim storms and OOM kills, trips a WARN_ON_ONCE() in kvmalloc_node() (a panic under panic_on_warn), and drives the CS parser through uninitialized state, producing kernel crashes and denial of service."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:15:38.286Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/9f55d300541cb5b435984d269087810581580b00"
        },
        {
          "url": "https://git.kernel.org/stable/c/c3deb091398e9e469d08dd1599b6d76fd6b29df8"
        },
        {
          "url": "https://git.kernel.org/stable/c/87c2213e85bd81e4a9a4d0880c256568794ae388"
        }
      ],
      "title": "drm/amdgpu: Fix integer overflow in amdgpu_cs_pass1",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53707",
    "datePublished": "2025-10-22T13:23:43.822Z",
    "dateReserved": "2025-10-22T13:21:37.346Z",
    "dateUpdated": "2026-08-05T09:15:38.286Z",
    "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…

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…