GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2023-53844 (GCVE-0-2023-53844)

Vulnerability from cvelistv5 – Published: 2025-12-09 01:30 – Updated: 2026-08-05 09:16
VLAI
Title
drm/ttm: Don't leak a resource on swapout move error
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/ttm: Don't leak a resource on swapout move error If moving the bo to system for swapout failed, we were leaking a resource. Fix.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: bfa3357ef9abc9d56a2910222d2deeb9f15c91ff , < af4e0ce2af8a8f0ff3b89702a1e18d8ec2c4a834 (git)
Affected: bfa3357ef9abc9d56a2910222d2deeb9f15c91ff , < f037f6038736bd038ddb9c72de979a08cc1ee3b5 (git)
Affected: bfa3357ef9abc9d56a2910222d2deeb9f15c91ff , < 4a5b37ea6797d7a53e6dd004aa37e149f40199ce (git)
Affected: bfa3357ef9abc9d56a2910222d2deeb9f15c91ff , < a590f03d8de7c4cb7ce4916dc7f2fd10711faabe (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.14
Unaffected: 0 , < 5.14 (semver)
Unaffected: 5.15.121 , ≤ 5.15.* (semver)
Unaffected: 6.1.40 , ≤ 6.1.* (semver)
Unaffected: 6.4.5 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/ttm/ttm_bo.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "af4e0ce2af8a8f0ff3b89702a1e18d8ec2c4a834",
              "status": "affected",
              "version": "bfa3357ef9abc9d56a2910222d2deeb9f15c91ff",
              "versionType": "git"
            },
            {
              "lessThan": "f037f6038736bd038ddb9c72de979a08cc1ee3b5",
              "status": "affected",
              "version": "bfa3357ef9abc9d56a2910222d2deeb9f15c91ff",
              "versionType": "git"
            },
            {
              "lessThan": "4a5b37ea6797d7a53e6dd004aa37e149f40199ce",
              "status": "affected",
              "version": "bfa3357ef9abc9d56a2910222d2deeb9f15c91ff",
              "versionType": "git"
            },
            {
              "lessThan": "a590f03d8de7c4cb7ce4916dc7f2fd10711faabe",
              "status": "affected",
              "version": "bfa3357ef9abc9d56a2910222d2deeb9f15c91ff",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/ttm/ttm_bo.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.14"
            },
            {
              "lessThan": "5.14",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.121",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.5",
              "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.121",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.40",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.5",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/ttm: Don\u0027t leak a resource on swapout move error\n\nIf moving the bo to system for swapout failed, we were leaking\na resource. Fix."
        }
      ],
      "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 path is reached only through local access to a DRM device node (/dev/dri/renderD* or card*) via GEM allocation/submission ioctls that drive TTM swapout; there is no network-facing component.\nAC:L - The attacker controls both preconditions \u2014 swapout is forced deterministically by allocating TTM pages past ttm_pages_limit (ttm_tt_populate loops on ttm_global_swapout), and the move failure is forced by keeping the GTT BO\u0027s fences unsignaled past the 15-second ttm_bo_wait_ctx timeout in amdgpu/radeon/nouveau, or by inducing -ENOMEM in dma_resv_reserve_fences under the same memory pressure. The sequence is repeatable at will, leaking one dangling resource per attempt.\nPR:L - Requires only an open DRM render node, which is granted to any logged-in desktop user, Android graphics-group app, or container with /dev/dri passed through; no capabilities and no root are needed.\nUI:N - The attacker performs all steps itself \u2014 BO allocation, GPU submission and memory pressure \u2014 with no action from any other user or victim process.\nS:U - The corruption is confined to the kernel\u0027s own TTM resource-manager structures within the same security authority; no VM, IOMMU or sandbox boundary is crossed.\nC:H - The orphaned ttm_resource stays linked on the SYSTEM manager\u0027s LRU with a stale res-\u003ebo, so ttm_device_swapout, ttm_mem_evict_first and ttm_lru_bulk_move_tail read from a freed ttm_buffer_object whose slab the attacker can groom \u2014 a controllable use-after-free read primitive into kernel memory.\nI:H - The same dangling entry yields writes: ttm_bo_get_unless_zero performs an atomic increment into the freed object, list_del_init/list_bulk_move_tail splice attacker-influenced LRU pointers, and a groomed fake BO reaches the bo-\u003ebdev-\u003efuncs-\u003eswap_notify() and bo-\u003edestroy indirect calls, giving control-flow hijack potential.\nA:H - Beyond the unbounded kernel memory and man-\u003eusage accounting leak, the stale LRU entry oopses on the next swapout or eviction walk, and ttm_device_clear_lru_dma_mappings spins forever on it while holding bdev-\u003elru_lock (kref_get_unless_zero fails, then continue without list_del_init), producing a soft lockup and system hang."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:16:22.259Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/af4e0ce2af8a8f0ff3b89702a1e18d8ec2c4a834"
        },
        {
          "url": "https://git.kernel.org/stable/c/f037f6038736bd038ddb9c72de979a08cc1ee3b5"
        },
        {
          "url": "https://git.kernel.org/stable/c/4a5b37ea6797d7a53e6dd004aa37e149f40199ce"
        },
        {
          "url": "https://git.kernel.org/stable/c/a590f03d8de7c4cb7ce4916dc7f2fd10711faabe"
        }
      ],
      "title": "drm/ttm: Don\u0027t leak a resource on swapout move error",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53844",
    "datePublished": "2025-12-09T01:30:06.863Z",
    "dateReserved": "2025-12-09T01:27:17.827Z",
    "dateUpdated": "2026-08-05T09:16:22.259Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-53844",
      "date": "2026-09-16",
      "epss": "0.00194",
      "percentile": "0.09348"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53844\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-09T16:17:24.733\",\"lastModified\":\"2026-08-04T10:19:23.820\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/ttm: Don\u0027t leak a resource on swapout move error\\n\\nIf moving the bo to system for swapout failed, we were leaking\\na resource. Fix.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/gpu/drm/ttm/ttm_bo.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"bfa3357ef9abc9d56a2910222d2deeb9f15c91ff\",\"lessThan\":\"af4e0ce2af8a8f0ff3b89702a1e18d8ec2c4a834\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"bfa3357ef9abc9d56a2910222d2deeb9f15c91ff\",\"lessThan\":\"f037f6038736bd038ddb9c72de979a08cc1ee3b5\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"bfa3357ef9abc9d56a2910222d2deeb9f15c91ff\",\"lessThan\":\"4a5b37ea6797d7a53e6dd004aa37e149f40199ce\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"bfa3357ef9abc9d56a2910222d2deeb9f15c91ff\",\"lessThan\":\"a590f03d8de7c4cb7ce4916dc7f2fd10711faabe\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/gpu/drm/ttm/ttm_bo.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.14\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.14\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.121\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.40\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.4.5\",\"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}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/4a5b37ea6797d7a53e6dd004aa37e149f40199ce\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a590f03d8de7c4cb7ce4916dc7f2fd10711faabe\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/af4e0ce2af8a8f0ff3b89702a1e18d8ec2c4a834\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f037f6038736bd038ddb9c72de979a08cc1ee3b5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-04T22:54:33+00:00",
      "cve": "CVE-2023-53844",
      "id": "CVE-2023-53844",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:fixed": "399",
      "product_status:known_affected": "38",
      "product_status:known_not_affected": "118",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm/ttm: Don\u0027t leak a resource on swapout move error",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-53844.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-29T02:04:47Z",
      "cve": "CVE-2023-53844",
      "id": "CVE-2023-53844",
      "initial_release_date": "2025-12-10T00:34:49Z",
      "product_status:known_affected": "354",
      "product_status:known_not_affected": "304",
      "product_status:recommended": "457",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2023-53844",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-53844.json",
      "version": "32"
    }
  }
}



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…

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…