{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-72452",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-08-09T03:40:39.931Z",
        "datePublished": "2026-08-15T05:57:00.234Z",
        "dateUpdated": "2026-08-17T05:44:21.920Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-17T05:44:21.920Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/i915: clear CRTC color blob pointers after dropping refs\n\nintel_crtc_put_color_blobs() drops the CRTC color blob references, but\nleaves the corresponding pointers unchanged.\n\nThis can matter in intel_crtc_prepare_cleared_state(), which frees the\nold CRTC hw state before calling intel_dp_tunnel_atomic_clear_stream_bw().\nThe latter can fail while looking up the DP tunnel group state, for\nexample with -EDEADLK.\n\nIf that happens, the function returns without completing the cleared\nstate preparation. The failed atomic state will then be cleared by the\natomic core and intel_crtc_free_hw_state() can be called again for the\nsame state, dropping the same blob references again.\n\nClear the blob pointers after dropping the references so repeated cleanup\nof the same CRTC hw state is safe.\n\n(cherry picked from commit d5005addb5f68e8a0edce249506757bdc9e3d8c8)"
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "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"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The bug is reached only through the i915 DRM atomic commit path (DRM_IOCTL_MODE_ATOMIC on /dev/dri/card*), which calls intel_atomic_check() -> intel_crtc_prepare_cleared_state() -> intel_crtc_free_hw_state(); this is local ioctl access to the display driver, not a network protocol.\nAC:L - Triggering the failure requires a modeset atomic commit on a CRTC with color blobs and an active DP tunnel reference; intel_dp_tunnel_atomic_clear_stream_bw() can return -EDEADLK from drm_atomic_get_private_obj_state(), and an attacker can force that ww_mutex deadlock with concurrent atomic ioctl threads they control.\nPR:L - Exploitation needs DRM master on the primary DRM node to issue atomic modesets; on Intel client systems this is held by the session compositor or obtainable by a local session user with /dev/dri/card0 access, which is standard unprivileged desktop privilege rather than init-namespace root.\nUI:N - No victim interaction is required beyond the attacker issuing their own DRM atomic property/modeset ioctl sequences to set CRTC color blobs and provoke the failing DP tunnel cleanup path.\nS:U - The double-free corrupts kernel heap drm_property_blob objects inside the i915 display driver; impact stays within kernel memory management and does not inherently cross a VM/host or sandbox security boundary without separate exploitation.\nC:H - intel_crtc_put_color_blobs() can drop the same drm_property_blob references twice because pointers are not cleared after the first put; this double-free/use-after-free of heap objects can expose kernel memory contents and is scored as arbitrary read potential per UAF guidance.\nI:H - Repeated drm_property_blob_put() on stale pointers causes refcount underflow and slab freelist corruption on kvzalloc-backed blobs, providing a standard kernel heap corruption primitive that can be leveraged for arbitrary write or code execution.\nA:H - The refcount double-free during failed atomic state cleanup can immediately panic/oops the kernel or destabilize the allocator; any successful trigger causes high availability impact even before full exploitation."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/gpu/drm/i915/display/intel_atomic.c"
                    ],
                    "versions": [
                        {
                            "version": "9a6cbb4a5c168e94a69a0cbec572b3738205232b",
                            "lessThan": "164afa1a3af8e8c91b4a6d5fd7b79a44ec70abf0",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "8581466b827fdf0300a3e2e93900ddefd8240053",
                            "lessThan": "2024940522ef451098c940ab0b82d647de5e5d9b",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "77fcf58df15edcf3f5b5421f24814fb72796def9",
                            "lessThan": "ac554ad943610031a25795d6ef71316f6164c136",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "77fcf58df15edcf3f5b5421f24814fb72796def9",
                            "lessThan": "31f077088e0faae6be8377741f356dea1b94ba46",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "674fc4a50b667be65c947d81af63a9367deafb5c",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "6.12.80",
                            "lessThan": "6.12.97",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.21",
                            "lessThan": "6.18.40",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.19.11",
                            "lessThan": "6.20",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/gpu/drm/i915/display/intel_atomic.c"
                    ],
                    "versions": [
                        {
                            "version": "7.0",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "7.0",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.97",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.40",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1.5",
                            "lessThanOrEqual": "7.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.2",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.12.80",
                                    "versionEndExcluding": "6.12.97"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.18.21",
                                    "versionEndExcluding": "6.18.40"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "7.0",
                                    "versionEndExcluding": "7.1.5"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "7.0",
                                    "versionEndExcluding": "7.2"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.19.11"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/164afa1a3af8e8c91b4a6d5fd7b79a44ec70abf0"
                },
                {
                    "url": "https://git.kernel.org/stable/c/2024940522ef451098c940ab0b82d647de5e5d9b"
                },
                {
                    "url": "https://git.kernel.org/stable/c/ac554ad943610031a25795d6ef71316f6164c136"
                },
                {
                    "url": "https://git.kernel.org/stable/c/31f077088e0faae6be8377741f356dea1b94ba46"
                }
            ],
            "title": "drm/i915: clear CRTC color blob pointers after dropping refs",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}