CVE-2026-72452 (GCVE-0-2026-72452)
Vulnerability from cvelistv5
Published
2026-08-15 05:57
Modified
2026-08-17 05:44
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/i915: clear CRTC color blob pointers after dropping refs
intel_crtc_put_color_blobs() drops the CRTC color blob references, but
leaves the corresponding pointers unchanged.
This can matter in intel_crtc_prepare_cleared_state(), which frees the
old CRTC hw state before calling intel_dp_tunnel_atomic_clear_stream_bw().
The latter can fail while looking up the DP tunnel group state, for
example with -EDEADLK.
If that happens, the function returns without completing the cleared
state preparation. The failed atomic state will then be cleared by the
atomic core and intel_crtc_free_hw_state() can be called again for the
same state, dropping the same blob references again.
Clear the blob pointers after dropping the references so repeated cleanup
of the same CRTC hw state is safe.
(cherry picked from commit d5005addb5f68e8a0edce249506757bdc9e3d8c8)
References
| URL | Tags | |
|---|---|---|
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: 9a6cbb4a5c168e94a69a0cbec572b3738205232b Version: 8581466b827fdf0300a3e2e93900ddefd8240053 Version: 77fcf58df15edcf3f5b5421f24814fb72796def9 Version: 77fcf58df15edcf3f5b5421f24814fb72796def9 Version: 674fc4a50b667be65c947d81af63a9367deafb5c Version: 6.12.80 ≤ Version: 6.18.21 ≤ Version: 6.19.11 ≤ |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/gpu/drm/i915/display/intel_atomic.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "164afa1a3af8e8c91b4a6d5fd7b79a44ec70abf0",
"status": "affected",
"version": "9a6cbb4a5c168e94a69a0cbec572b3738205232b",
"versionType": "git"
},
{
"lessThan": "2024940522ef451098c940ab0b82d647de5e5d9b",
"status": "affected",
"version": "8581466b827fdf0300a3e2e93900ddefd8240053",
"versionType": "git"
},
{
"lessThan": "ac554ad943610031a25795d6ef71316f6164c136",
"status": "affected",
"version": "77fcf58df15edcf3f5b5421f24814fb72796def9",
"versionType": "git"
},
{
"lessThan": "31f077088e0faae6be8377741f356dea1b94ba46",
"status": "affected",
"version": "77fcf58df15edcf3f5b5421f24814fb72796def9",
"versionType": "git"
},
{
"status": "affected",
"version": "674fc4a50b667be65c947d81af63a9367deafb5c",
"versionType": "git"
},
{
"lessThan": "6.12.97",
"status": "affected",
"version": "6.12.80",
"versionType": "semver"
},
{
"lessThan": "6.18.40",
"status": "affected",
"version": "6.18.21",
"versionType": "semver"
},
{
"lessThan": "6.20",
"status": "affected",
"version": "6.19.11",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/gpu/drm/i915/display/intel_atomic.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "7.0"
},
{
"lessThan": "7.0",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.97",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.40",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.5",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.97",
"versionStartIncluding": "6.12.80",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.40",
"versionStartIncluding": "6.18.21",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.5",
"versionStartIncluding": "7.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "7.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.19.11",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"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": {
"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 bug is reached only through the i915 DRM atomic commit path (DRM_IOCTL_MODE_ATOMIC on /dev/dri/card*), which calls intel_atomic_check() -\u003e intel_crtc_prepare_cleared_state() -\u003e 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."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-17T05:44:21.920Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"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"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-72452",
"datePublished": "2026-08-15T05:57:00.234Z",
"dateReserved": "2026-08-09T03:40:39.931Z",
"dateUpdated": "2026-08-17T05:44:21.920Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
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…