CVE-2023-53545 (GCVE-0-2023-53545)

Vulnerability from cvelistv5 – Published: 2025-10-04 15:16 – Updated: 2026-08-05 09:14
VLAI
Title
drm/amdgpu: unmap and remove csa_va properly
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: unmap and remove csa_va properly Root PD BO should be reserved before unmap and remove a bo_va from VM otherwise lockdep will complain. v2: check fpriv->csa_va is not NULL instead of amdgpu_mcbp (christian) [14616.936827] WARNING: CPU: 6 PID: 1711 at drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1762 amdgpu_vm_bo_del+0x399/0x3f0 [amdgpu] [14616.937096] Call Trace: [14616.937097] <TASK> [14616.937102] amdgpu_driver_postclose_kms+0x249/0x2f0 [amdgpu] [14616.937187] drm_file_free+0x1d6/0x300 [drm] [14616.937207] drm_close_helper.isra.0+0x62/0x70 [drm] [14616.937220] drm_release+0x5e/0x100 [drm] [14616.937234] __fput+0x9f/0x280 [14616.937239] ____fput+0xe/0x20 [14616.937241] task_work_run+0x61/0x90 [14616.937246] exit_to_user_mode_prepare+0x215/0x220 [14616.937251] syscall_exit_to_user_mode+0x2a/0x60 [14616.937254] do_syscall_64+0x48/0x90 [14616.937257] entry_SYSCALL_64_after_hwframe+0x63/0xcd
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: d38ceaf99ed015f2a0b9af3499791bd3a3daae21 , < 1bc35e637a81dac5f5155e83a277c26708c4d4d7 (git)
Affected: d38ceaf99ed015f2a0b9af3499791bd3a3daae21 , < ae325b245208394279a1dc412c831ebd71befb0d (git)
Affected: d38ceaf99ed015f2a0b9af3499791bd3a3daae21 , < a3a96bf843c356d1d9b2d7f6d0784b6ee28ca9d0 (git)
Affected: d38ceaf99ed015f2a0b9af3499791bd3a3daae21 , < 5daff15cd013422bc6d1efcfe82b586800025384 (git)
Create a notification for this product.
Linux Linux Affected: 4.2
Unaffected: 0 , < 4.2 (semver)
Unaffected: 5.15.209 , ≤ 5.15.* (semver)
Unaffected: 6.1.167 , ≤ 6.1.* (semver)
Unaffected: 6.4.12 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
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_csa.c",
            "drivers/gpu/drm/amd/amdgpu/amdgpu_csa.h",
            "drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1bc35e637a81dac5f5155e83a277c26708c4d4d7",
              "status": "affected",
              "version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
              "versionType": "git"
            },
            {
              "lessThan": "ae325b245208394279a1dc412c831ebd71befb0d",
              "status": "affected",
              "version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
              "versionType": "git"
            },
            {
              "lessThan": "a3a96bf843c356d1d9b2d7f6d0784b6ee28ca9d0",
              "status": "affected",
              "version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
              "versionType": "git"
            },
            {
              "lessThan": "5daff15cd013422bc6d1efcfe82b586800025384",
              "status": "affected",
              "version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c",
            "drivers/gpu/drm/amd/amdgpu/amdgpu_csa.h",
            "drivers/gpu/drm/amd/amdgpu/amdgpu_kms.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": "5.15.*",
              "status": "unaffected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.167",
              "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": "5.15.209",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.167",
                  "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: unmap and remove csa_va properly\n\nRoot PD BO should be reserved before unmap and remove\na bo_va from VM otherwise lockdep will complain.\n\nv2: check fpriv-\u003ecsa_va is not NULL instead of amdgpu_mcbp (christian)\n\n[14616.936827] WARNING: CPU: 6 PID: 1711 at drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1762 amdgpu_vm_bo_del+0x399/0x3f0 [amdgpu]\n[14616.937096] Call Trace:\n[14616.937097]  \u003cTASK\u003e\n[14616.937102]  amdgpu_driver_postclose_kms+0x249/0x2f0 [amdgpu]\n[14616.937187]  drm_file_free+0x1d6/0x300 [drm]\n[14616.937207]  drm_close_helper.isra.0+0x62/0x70 [drm]\n[14616.937220]  drm_release+0x5e/0x100 [drm]\n[14616.937234]  __fput+0x9f/0x280\n[14616.937239]  ____fput+0xe/0x20\n[14616.937241]  task_work_run+0x61/0x90\n[14616.937246]  exit_to_user_mode_prepare+0x215/0x220\n[14616.937251]  syscall_exit_to_user_mode+0x2a/0x60\n[14616.937254]  do_syscall_64+0x48/0x90\n[14616.937257]  entry_SYSCALL_64_after_hwframe+0x63/0xcd"
        }
      ],
      "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 vulnerable code runs in the DRM file release path (`close()`/process exit on /dev/dri/renderD* \u2192 drm_release \u2192 amdgpu_driver_postclose_kms), which requires a local file descriptor on the GPU device node. There is no remote or adjacent-network path to this code.\nAC:L - Triggering the unlocked amdgpu_vm_bo_del() requires nothing more than closing the DRM fd, and the attacker controls both sides of the resulting race \u2014 one thread submits faulting GPU work or VRAM eviction pressure (driving amdgpu_vm_handle_fault/amdgpu_vm_bo_invalidate under the root PD reservation) while another loops open/close. On SR-IOV VFs the CSA path is taken with stock settings, requiring no special tuning.\nPR:L - Only an unprivileged local user with access to the DRM render node is needed \u2014 these are group-accessible on ordinary distributions and available to every app on Android; no capability check exists on the path from drm_release to amdgpu_driver_postclose_kms.\nUI:N - The attacker performs the fd close and the concurrent GPU submissions entirely within their own process; no victim action is involved.\nS:U - Corruption is confined to the guest/host kernel that owns the amdgpu VM; even on an SR-IOV virtual function the VF remains constrained by host GPU/IOMMU isolation, so no security authority is crossed.\nC:H - Unlocked removal from the vm-\u003eva interval tree and vm-\u003efreed list racing with locked traversals leaves freed amdgpu_bo_va_mapping objects reachable, and corrupted GPU page-table updates map DMA-visible memory, yielding an arbitrary-read primitive over kernel memory.\nI:H - The same rb-tree/list corruption and use-after-free on mapping structures provide a write primitive, and because the affected structures drive GPU PTE programming, an attacker can influence which physical memory the GPU is allowed to write.\nA:H - The path contains an explicit BUG_ON() plus the dma_resv_assert_held() WARN reported in the commit \u2014 the latter panics outright under panic_on_warn \u2014 and the underlying race produces oopses from torn interval-tree state on every fd close."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:14:44.686Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1bc35e637a81dac5f5155e83a277c26708c4d4d7"
        },
        {
          "url": "https://git.kernel.org/stable/c/ae325b245208394279a1dc412c831ebd71befb0d"
        },
        {
          "url": "https://git.kernel.org/stable/c/a3a96bf843c356d1d9b2d7f6d0784b6ee28ca9d0"
        },
        {
          "url": "https://git.kernel.org/stable/c/5daff15cd013422bc6d1efcfe82b586800025384"
        }
      ],
      "title": "drm/amdgpu: unmap and remove csa_va properly",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53545",
    "datePublished": "2025-10-04T15:16:53.452Z",
    "dateReserved": "2025-10-04T15:14:15.920Z",
    "dateUpdated": "2026-08-05T09:14:44.686Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-53545",
      "date": "2026-08-06",
      "epss": "0.00154",
      "percentile": "0.0506"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53545\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-10-04T16:15:49.637\",\"lastModified\":\"2026-08-04T10:19:11.580\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amdgpu: unmap and remove csa_va properly\\n\\nRoot PD BO should be reserved before unmap and remove\\na bo_va from VM otherwise lockdep will complain.\\n\\nv2: check fpriv-\u003ecsa_va is not NULL instead of amdgpu_mcbp (christian)\\n\\n[14616.936827] WARNING: CPU: 6 PID: 1711 at drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1762 amdgpu_vm_bo_del+0x399/0x3f0 [amdgpu]\\n[14616.937096] Call Trace:\\n[14616.937097]  \u003cTASK\u003e\\n[14616.937102]  amdgpu_driver_postclose_kms+0x249/0x2f0 [amdgpu]\\n[14616.937187]  drm_file_free+0x1d6/0x300 [drm]\\n[14616.937207]  drm_close_helper.isra.0+0x62/0x70 [drm]\\n[14616.937220]  drm_release+0x5e/0x100 [drm]\\n[14616.937234]  __fput+0x9f/0x280\\n[14616.937239]  ____fput+0xe/0x20\\n[14616.937241]  task_work_run+0x61/0x90\\n[14616.937246]  exit_to_user_mode_prepare+0x215/0x220\\n[14616.937251]  syscall_exit_to_user_mode+0x2a/0x60\\n[14616.937254]  do_syscall_64+0x48/0x90\\n[14616.937257]  entry_SYSCALL_64_after_hwframe+0x63/0xcd\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c\",\"drivers/gpu/drm/amd/amdgpu/amdgpu_csa.h\",\"drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"d38ceaf99ed015f2a0b9af3499791bd3a3daae21\",\"lessThan\":\"1bc35e637a81dac5f5155e83a277c26708c4d4d7\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d38ceaf99ed015f2a0b9af3499791bd3a3daae21\",\"lessThan\":\"ae325b245208394279a1dc412c831ebd71befb0d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d38ceaf99ed015f2a0b9af3499791bd3a3daae21\",\"lessThan\":\"a3a96bf843c356d1d9b2d7f6d0784b6ee28ca9d0\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d38ceaf99ed015f2a0b9af3499791bd3a3daae21\",\"lessThan\":\"5daff15cd013422bc6d1efcfe82b586800025384\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c\",\"drivers/gpu/drm/amd/amdgpu/amdgpu_csa.h\",\"drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.2\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.2\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.209\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.167\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.4.12\",\"lessThanOrEqual\":\"6.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.5\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.2\",\"versionEndExcluding\":\"6.4.12\",\"matchCriteriaId\":\"627AF6EA-81E2-47AC-9270-EB299AB9D5EB\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1bc35e637a81dac5f5155e83a277c26708c4d4d7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5daff15cd013422bc6d1efcfe82b586800025384\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a3a96bf843c356d1d9b2d7f6d0784b6ee28ca9d0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/ae325b245208394279a1dc412c831ebd71befb0d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-04T22:55:18+00:00",
      "cve": "CVE-2023-53545",
      "id": "CVE-2023-53545",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:fixed": "279",
      "product_status:known_affected": "22",
      "product_status:known_not_affected": "166",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm/amdgpu: unmap and remove csa_va properly",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-53545.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-25T02:16:44Z",
      "cve": "CVE-2023-53545",
      "id": "CVE-2023-53545",
      "initial_release_date": "2025-10-05T02:56:33Z",
      "product_status:known_affected": "610",
      "product_status:known_not_affected": "40",
      "product_status:recommended": "375",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2023-53545",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-53545.json",
      "version": "49"
    }
  }
}



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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…