CVE-2024-56775 (GCVE-0-2024-56775)

Vulnerability from cvelistv5 – Published: 2025-01-08 17:49 – Updated: 2026-08-05 11:46
VLAI
Title
drm/amd/display: Fix handling of plane refcount
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix handling of plane refcount [Why] The mechanism to backup and restore plane states doesn't maintain refcount, which can cause issues if the refcount of the plane changes in between backup and restore operations, such as memory leaks if the refcount was supposed to go down, or double frees / invalid memory accesses if the refcount was supposed to go up. [How] Cache and re-apply current refcount when restoring plane states.
SSVC
Exploitation: none Automatable: no Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c , < 8cb2f6793845f135b28361ba8e96901cae3e5790 (git)
Affected: 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c , < 27227a234c1487cb7a684615f0749c455218833a (git)
Create a notification for this product.
Linux Linux Affected: 4.15
Unaffected: 0 , < 4.15 (semver)
Unaffected: 6.12.4 , ≤ 6.12.* (semver)
Unaffected: 6.13 , ≤ * (original_commit_for_fix)
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-56775",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T19:56:42.047459Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-415",
                "description": "CWE-415 Double Free",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T19:57:24.727Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/display/dc/core/dc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8cb2f6793845f135b28361ba8e96901cae3e5790",
              "status": "affected",
              "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c",
              "versionType": "git"
            },
            {
              "lessThan": "27227a234c1487cb7a684615f0749c455218833a",
              "status": "affected",
              "version": "4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/amd/display/dc/core/dc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.15"
            },
            {
              "lessThan": "4.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.4",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: Fix handling of plane refcount\n\n[Why]\nThe mechanism to backup and restore plane states doesn\u0027t maintain\nrefcount, which can cause issues if the refcount of the plane changes\nin between backup and restore operations, such as memory leaks if the\nrefcount was supposed to go down, or double frees / invalid memory\naccesses if the refcount was supposed to go up.\n\n[How]\nCache and re-apply current refcount when restoring plane states."
        }
      ],
      "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 is reached only through DRM atomic-commit/page-flip ioctls on the local `/dev/dri/card*` node (amdgpu_dm_atomic_commit_tail \u2192 dc_update_planes_and_stream), which requires local access to the machine. There is no remote or network-facing path into the amdgpu display core.\nAC:L - Userspace directly controls the plane topology, so it can deterministically drive UPDATE_TYPE_FULL commits that add/remove MPO planes and force the minimal-transition path where a plane\u0027s refcount changes between backup and restore. No condition outside the attacker\u0027s control is needed, and the sequence can be repeated in a loop until the corrupted refcount reaches zero.\nPR:L - An ordinary unprivileged user with a graphical seat (logind session or `video` group membership) is DRM master on the primary node and may issue atomic commits with overlay planes; no root or CAP_SYS_ADMIN is required.\nUI:N - The attacker triggers the faulty backup/restore sequence entirely through its own atomic commits; no victim action such as mounting media or opening a file is involved.\nS:U - The corruption stays within the kernel of the same machine and the impact is on kernel memory under the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Stomping the kref with a stale lower value causes premature kvfree() of the kvzalloc\u0027d `dc_plane_state` while pipe contexts still reference it, so the attacker can reclaim the freed slab object and read back kernel memory through the dangling references \u2014 a use-after-free read primitive.\nI:H - The same use-after-free/double-free lets the attacker spray a controlled object into the freed allocation, and subsequent writes through the stale `plane_states[i]` pointers (including the function-pointer-bearing sub-structures freed in dc_plane_destruct) yield an arbitrary-write / control-flow-hijack primitive.\nA:H - Even without full exploitation, the mismatched refcount produces double frees and invalid memory accesses that oops or panic the kernel; the leak case (refcount restored too high) additionally exhausts memory over repeated commits."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:46:26.696Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8cb2f6793845f135b28361ba8e96901cae3e5790"
        },
        {
          "url": "https://git.kernel.org/stable/c/27227a234c1487cb7a684615f0749c455218833a"
        }
      ],
      "title": "drm/amd/display: Fix handling of plane refcount",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-56775",
    "datePublished": "2025-01-08T17:49:13.907Z",
    "dateReserved": "2024-12-29T11:26:39.766Z",
    "dateUpdated": "2026-08-05T11:46:26.696Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-56775",
      "date": "2026-08-07",
      "epss": "0.00205",
      "percentile": "0.10613"
    },
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionEndExcluding\": \"6.12.4\", \"matchCriteriaId\": \"E8020715-FB14-459D-9D51-9A47297525D4\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amd/display: Fix handling of plane refcount\\n\\n[Why]\\nThe mechanism to backup and restore plane states doesn\u0027t maintain\\nrefcount, which can cause issues if the refcount of the plane changes\\nin between backup and restore operations, such as memory leaks if the\\nrefcount was supposed to go down, or double frees / invalid memory\\naccesses if the refcount was supposed to go up.\\n\\n[How]\\nCache and re-apply current refcount when restoring plane states.\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: Corregir la gesti\\u00f3n del recuento de referencias del plano [Por qu\\u00e9] El mecanismo para realizar copias de seguridad y restaurar estados del plano no mantiene el recuento de referencias, lo que puede causar problemas si el recuento de referencias del plano cambia entre las operaciones de copia de seguridad y restauraci\\u00f3n, como fugas de memoria si se supon\\u00eda que el recuento de referencias bajar\\u00eda, o liberaciones dobles / accesos a memoria no v\\u00e1lidos si se supon\\u00eda que el recuento de referencias aumentar\\u00eda. [C\\u00f3mo] Almacenar en cach\\u00e9 y volver a aplicar el recuento de referencias actual al restaurar estados del plano.\"}]",
      "id": "CVE-2024-56775",
      "lastModified": "2025-01-09T21:37:14.590",
      "metrics": "{\"cvssMetricV31\": [{\"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: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}]}",
      "published": "2025-01-08T18:15:18.333",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/27227a234c1487cb7a684615f0749c455218833a\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/8cb2f6793845f135b28361ba8e96901cae3e5790\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Analyzed",
      "weaknesses": "[{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-401\"}, {\"lang\": \"en\", \"value\": \"CWE-415\"}]}]"
    },
    "microsoft_vex": {
      "current_release_date": "2026-06-28T02:02:51.000Z",
      "cve": "CVE-2024-56775",
      "id": "msrc_CVE-2024-56775",
      "initial_release_date": "2025-01-02T00:00:00.000Z",
      "product_status:known_affected": "19",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "drm/amd/display: Fix handling of plane refcount",
      "url": "https://msrc.microsoft.com/csaf/vex/2025/msrc_cve-2024-56775.json",
      "version": "15"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-56775\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-01-08T18:15:18.333\",\"lastModified\":\"2026-06-17T08:12:57.820\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amd/display: Fix handling of plane refcount\\n\\n[Why]\\nThe mechanism to backup and restore plane states doesn\u0027t maintain\\nrefcount, which can cause issues if the refcount of the plane changes\\nin between backup and restore operations, such as memory leaks if the\\nrefcount was supposed to go down, or double frees / invalid memory\\naccesses if the refcount was supposed to go up.\\n\\n[How]\\nCache and re-apply current refcount when restoring plane states.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/display: Corregir la gesti\u00f3n del recuento de referencias del plano [Por qu\u00e9] El mecanismo para realizar copias de seguridad y restaurar estados del plano no mantiene el recuento de referencias, lo que puede causar problemas si el recuento de referencias del plano cambia entre las operaciones de copia de seguridad y restauraci\u00f3n, como fugas de memoria si se supon\u00eda que el recuento de referencias bajar\u00eda, o liberaciones dobles / accesos a memoria no v\u00e1lidos si se supon\u00eda que el recuento de referencias aumentar\u00eda. [C\u00f3mo] Almacenar en cach\u00e9 y volver a aplicar el recuento de referencias actual al restaurar estados del plano.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/gpu/drm/amd/display/dc/core/dc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\",\"lessThan\":\"8cb2f6793845f135b28361ba8e96901cae3e5790\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\",\"lessThan\":\"27227a234c1487cb7a684615f0749c455218833a\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/gpu/drm/amd/display/dc/core/dc.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.4\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.13\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"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: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\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"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}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2025-10-01T19:56:42.047459Z\",\"id\":\"CVE-2024-56775\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"total\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-401\"},{\"lang\":\"en\",\"value\":\"CWE-415\"}]},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-415\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"6.12.4\",\"matchCriteriaId\":\"E8020715-FB14-459D-9D51-9A47297525D4\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/27227a234c1487cb7a684615f0749c455218833a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/8cb2f6793845f135b28361ba8e96901cae3e5790\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2025-11-21T13:57:54+00:00",
      "cve": "CVE-2024-56775",
      "id": "CVE-2024-56775",
      "initial_release_date": "2024-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: drm/amd/display: Fix handling of plane refcount",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-56775.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-16T18:59:15Z",
      "cve": "CVE-2024-56775",
      "id": "CVE-2024-56775",
      "initial_release_date": "2025-01-09T00:20:36Z",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "289",
      "product_status:recommended": "363",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-56775",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-56775.json",
      "version": "55"
    },
    "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-56775\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T19:56:42.047459Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-415\", \"description\": \"CWE-415 Double Free\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-01T15:50:50.757Z\"}}], \"cna\": {\"title\": \"drm/amd/display: Fix handling of plane refcount\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.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\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The vulnerable code is reached only through DRM atomic-commit/page-flip ioctls on the local `/dev/dri/card*` node (amdgpu_dm_atomic_commit_tail \\u2192 dc_update_planes_and_stream), which requires local access to the machine. There is no remote or network-facing path into the amdgpu display core.\\nAC:L - Userspace directly controls the plane topology, so it can deterministically drive UPDATE_TYPE_FULL commits that add/remove MPO planes and force the minimal-transition path where a plane\u0027s refcount changes between backup and restore. No condition outside the attacker\u0027s control is needed, and the sequence can be repeated in a loop until the corrupted refcount reaches zero.\\nPR:L - An ordinary unprivileged user with a graphical seat (logind session or `video` group membership) is DRM master on the primary node and may issue atomic commits with overlay planes; no root or CAP_SYS_ADMIN is required.\\nUI:N - The attacker triggers the faulty backup/restore sequence entirely through its own atomic commits; no victim action such as mounting media or opening a file is involved.\\nS:U - The corruption stays within the kernel of the same machine and the impact is on kernel memory under the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\\nC:H - Stomping the kref with a stale lower value causes premature kvfree() of the kvzalloc\u0027d `dc_plane_state` while pipe contexts still reference it, so the attacker can reclaim the freed slab object and read back kernel memory through the dangling references \\u2014 a use-after-free read primitive.\\nI:H - The same use-after-free/double-free lets the attacker spray a controlled object into the freed allocation, and subsequent writes through the stale `plane_states[i]` pointers (including the function-pointer-bearing sub-structures freed in dc_plane_destruct) yield an arbitrary-write / control-flow-hijack primitive.\\nA:H - Even without full exploitation, the mismatched refcount produces double frees and invalid memory accesses that oops or panic the kernel; the leak case (refcount restored too high) additionally exhausts memory over repeated commits.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\", \"lessThan\": \"8cb2f6793845f135b28361ba8e96901cae3e5790\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c\", \"lessThan\": \"27227a234c1487cb7a684615f0749c455218833a\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/gpu/drm/amd/display/dc/core/dc.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.15\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.15\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.12.4\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/gpu/drm/amd/display/dc/core/dc.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/8cb2f6793845f135b28361ba8e96901cae3e5790\"}, {\"url\": \"https://git.kernel.org/stable/c/27227a234c1487cb7a684615f0749c455218833a\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndrm/amd/display: Fix handling of plane refcount\\n\\n[Why]\\nThe mechanism to backup and restore plane states doesn\u0027t maintain\\nrefcount, which can cause issues if the refcount of the plane changes\\nin between backup and restore operations, such as memory leaks if the\\nrefcount was supposed to go down, or double frees / invalid memory\\naccesses if the refcount was supposed to go up.\\n\\n[How]\\nCache and re-apply current refcount when restoring plane states.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12.4\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.13\", \"versionStartIncluding\": \"4.15\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:46:26.696Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-56775\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:46:26.696Z\", \"dateReserved\": \"2024-12-29T11:26:39.766Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2025-01-08T17:49:13.907Z\", \"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…

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…