FKIE_CVE-2025-71305
Vulnerability from fkie_nvd - Published: 2026-05-27 14:16 - Updated: 2026-06-25 21:04
Severity
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/display/dp_mst: Add protection against 0 vcpi
When releasing a timeslot there is a slight chance we may end up
with the wrong payload mask due to overflow if the delayed_destroy_work
ends up coming into play after a DP 2.1 monitor gets disconnected
which causes vcpi to become 0 then we try to make the payload =
~BIT(vcpi - 1) which is a negative shift. VCPI id should never
really be 0 hence skip changing the payload mask if VCPI is 0.
Otherwise it leads to
<7> [515.287237] xe 0000:03:00.0: [drm:drm_dp_mst_get_port_malloc
[drm_display_helper]] port ffff888126ce9000 (3)
<4> [515.287267] -----------[ cut here ]-----------
<3> [515.287268] UBSAN: shift-out-of-bounds in
../drivers/gpu/drm/display/drm_dp_mst_topology.c:4575:36
<3> [515.287271] shift exponent -1 is negative
<4> [515.287275] CPU: 7 UID: 0 PID: 3108 Comm: kworker/u64:33 Tainted: G
S U 6.17.0-rc6-lgci-xe-xe-3795-3e79699fa1b216e92+ #1 PREEMPT(voluntary)
<4> [515.287279] Tainted: [S]=CPU_OUT_OF_SPEC, [U]=USER
<4> [515.287279] Hardware name: ASUS System Product Name/PRIME Z790-P
WIFI, BIOS 1645 03/15/2024
<4> [515.287281] Workqueue: drm_dp_mst_wq drm_dp_delayed_destroy_work
[drm_display_helper]
<4> [515.287303] Call Trace:
<4> [515.287304] <TASK>
<4> [515.287306] dump_stack_lvl+0xc1/0xf0
<4> [515.287313] dump_stack+0x10/0x20
<4> [515.287316] __ubsan_handle_shift_out_of_bounds+0x133/0x2e0
<4> [515.287324] ? drm_atomic_get_private_obj_state+0x186/0x1d0
<4> [515.287333] drm_dp_atomic_release_time_slots.cold+0x17/0x3d
[drm_display_helper]
<4> [515.287355] mst_connector_atomic_check+0x159/0x180 [xe]
<4> [515.287546] drm_atomic_helper_check_modeset+0x4d9/0xfa0
<4> [515.287550] ? __ww_mutex_lock.constprop.0+0x6f/0x1a60
<4> [515.287562] intel_atomic_check+0x119/0x2b80 [xe]
<4> [515.287740] ? find_held_lock+0x31/0x90
<4> [515.287747] ? lock_release+0xce/0x2a0
<4> [515.287754] drm_atomic_check_only+0x6a2/0xb40
<4> [515.287758] ? drm_atomic_add_affected_connectors+0x12b/0x140
<4> [515.287765] drm_atomic_commit+0x6e/0xf0
<4> [515.287766] ? _pfx__drm_printfn_info+0x10/0x10
<4> [515.287774] drm_client_modeset_commit_atomic+0x25c/0x2b0
<4> [515.287794] drm_client_modeset_commit_locked+0x60/0x1b0
<4> [515.287795] ? mutex_lock_nested+0x1b/0x30
<4> [515.287801] drm_client_modeset_commit+0x26/0x50
<4> [515.287804] __drm_fb_helper_restore_fbdev_mode_unlocked+0xdc/0x110
<4> [515.287810] drm_fb_helper_hotplug_event+0x120/0x140
<4> [515.287814] drm_fbdev_client_hotplug+0x28/0xd0
<4> [515.287819] drm_client_hotplug+0x6c/0xf0
<4> [515.287824] drm_client_dev_hotplug+0x9e/0xd0
<4> [515.287829] drm_kms_helper_hotplug_event+0x1a/0x30
<4> [515.287834] drm_dp_delayed_destroy_work+0x3df/0x410
[drm_display_helper]
<4> [515.287861] process_one_work+0x22b/0x6f0
<4> [515.287874] worker_thread+0x1e8/0x3d0
<4> [515.287879] ? __pfx_worker_thread+0x10/0x10
<4> [515.287882] kthread+0x11c/0x250
<4> [515.287886] ? __pfx_kthread+0x10/0x10
<4> [515.287890] ret_from_fork+0x2d7/0x310
<4> [515.287894] ? __pfx_kthread+0x10/0x10
<4> [515.287897] ret_from_fork_asm+0x1a/0x30
References
Impacted products
| Vendor | Product | Version | |
|---|---|---|---|
| linux | linux_kernel | * | |
| linux | linux_kernel | * | |
| linux | linux_kernel | * | |
| linux | linux_kernel | * | |
| linux | linux_kernel | * |
{
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/gpu/drm/display/drm_dp_mst_topology.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "95dbd525efce2a9e9e1c50ad15213de644c85ad0",
"status": "affected",
"version": "4d07b0bc403403438d9cf88450506240c5faf92f",
"versionType": "git"
},
{
"lessThan": "ac9a7c329a5610051fc476644c9b9145a5965ecb",
"status": "affected",
"version": "4d07b0bc403403438d9cf88450506240c5faf92f",
"versionType": "git"
},
{
"lessThan": "3f44cdb5371faf225af37d5caba8f21ec0572469",
"status": "affected",
"version": "4d07b0bc403403438d9cf88450506240c5faf92f",
"versionType": "git"
},
{
"lessThan": "4d2ccdea18b564e3f73e3e543854acea64e6277d",
"status": "affected",
"version": "4d07b0bc403403438d9cf88450506240c5faf92f",
"versionType": "git"
},
{
"lessThan": "d6afc7539ce06dadfa5b4787b3cfe79b95d8f67a",
"status": "affected",
"version": "4d07b0bc403403438d9cf88450506240c5faf92f",
"versionType": "git"
},
{
"lessThan": "342ccffd9f77fc29fe1c05fd145e4d842bd2feaa",
"status": "affected",
"version": "4d07b0bc403403438d9cf88450506240c5faf92f",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/gpu/drm/display/drm_dp_mst_topology.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.1"
},
{
"lessThan": "6.1",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.165",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.128",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.75",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.16",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.19.*",
"status": "unaffected",
"version": "6.19.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.0",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "96EF3286-5BCE-4D88-B8C9-4292E5BA7A18",
"versionEndExcluding": "6.1.165",
"versionStartIncluding": "6.1",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "851E9353-6C09-4CC9-877E-E09DB164A3C2",
"versionEndExcluding": "6.6.128",
"versionStartIncluding": "6.2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "BCE16369-98ED-41CF-8995-DFDC10B288D2",
"versionEndExcluding": "6.12.75",
"versionStartIncluding": "6.7",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "B4B8CDA9-BADF-4CF5-8B3B-702DE8EEA40B",
"versionEndExcluding": "6.18.16",
"versionStartIncluding": "6.13",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "672A3E79-EC03-479D-8503-361DFBDC8092",
"versionEndExcluding": "6.19.4",
"versionStartIncluding": "6.19",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/display/dp_mst: Add protection against 0 vcpi\n\nWhen releasing a timeslot there is a slight chance we may end up\nwith the wrong payload mask due to overflow if the delayed_destroy_work\nends up coming into play after a DP 2.1 monitor gets disconnected\nwhich causes vcpi to become 0 then we try to make the payload =\n~BIT(vcpi - 1) which is a negative shift. VCPI id should never\nreally be 0 hence skip changing the payload mask if VCPI is 0.\n\nOtherwise it leads to\n\u003c7\u003e [515.287237] xe 0000:03:00.0: [drm:drm_dp_mst_get_port_malloc\n[drm_display_helper]] port ffff888126ce9000 (3)\n\u003c4\u003e [515.287267] -----------[ cut here ]-----------\n\u003c3\u003e [515.287268] UBSAN: shift-out-of-bounds in\n../drivers/gpu/drm/display/drm_dp_mst_topology.c:4575:36\n\u003c3\u003e [515.287271] shift exponent -1 is negative\n\u003c4\u003e [515.287275] CPU: 7 UID: 0 PID: 3108 Comm: kworker/u64:33 Tainted: G\nS U 6.17.0-rc6-lgci-xe-xe-3795-3e79699fa1b216e92+ #1 PREEMPT(voluntary)\n\u003c4\u003e [515.287279] Tainted: [S]=CPU_OUT_OF_SPEC, [U]=USER\n\u003c4\u003e [515.287279] Hardware name: ASUS System Product Name/PRIME Z790-P\nWIFI, BIOS 1645 03/15/2024\n\u003c4\u003e [515.287281] Workqueue: drm_dp_mst_wq drm_dp_delayed_destroy_work\n[drm_display_helper]\n\u003c4\u003e [515.287303] Call Trace:\n\u003c4\u003e [515.287304] \u003cTASK\u003e\n\u003c4\u003e [515.287306] dump_stack_lvl+0xc1/0xf0\n\u003c4\u003e [515.287313] dump_stack+0x10/0x20\n\u003c4\u003e [515.287316] __ubsan_handle_shift_out_of_bounds+0x133/0x2e0\n\u003c4\u003e [515.287324] ? drm_atomic_get_private_obj_state+0x186/0x1d0\n\u003c4\u003e [515.287333] drm_dp_atomic_release_time_slots.cold+0x17/0x3d\n[drm_display_helper]\n\u003c4\u003e [515.287355] mst_connector_atomic_check+0x159/0x180 [xe]\n\u003c4\u003e [515.287546] drm_atomic_helper_check_modeset+0x4d9/0xfa0\n\u003c4\u003e [515.287550] ? __ww_mutex_lock.constprop.0+0x6f/0x1a60\n\u003c4\u003e [515.287562] intel_atomic_check+0x119/0x2b80 [xe]\n\u003c4\u003e [515.287740] ? find_held_lock+0x31/0x90\n\u003c4\u003e [515.287747] ? lock_release+0xce/0x2a0\n\u003c4\u003e [515.287754] drm_atomic_check_only+0x6a2/0xb40\n\u003c4\u003e [515.287758] ? drm_atomic_add_affected_connectors+0x12b/0x140\n\u003c4\u003e [515.287765] drm_atomic_commit+0x6e/0xf0\n\u003c4\u003e [515.287766] ? _pfx__drm_printfn_info+0x10/0x10\n\u003c4\u003e [515.287774] drm_client_modeset_commit_atomic+0x25c/0x2b0\n\u003c4\u003e [515.287794] drm_client_modeset_commit_locked+0x60/0x1b0\n\u003c4\u003e [515.287795] ? mutex_lock_nested+0x1b/0x30\n\u003c4\u003e [515.287801] drm_client_modeset_commit+0x26/0x50\n\u003c4\u003e [515.287804] __drm_fb_helper_restore_fbdev_mode_unlocked+0xdc/0x110\n\u003c4\u003e [515.287810] drm_fb_helper_hotplug_event+0x120/0x140\n\u003c4\u003e [515.287814] drm_fbdev_client_hotplug+0x28/0xd0\n\u003c4\u003e [515.287819] drm_client_hotplug+0x6c/0xf0\n\u003c4\u003e [515.287824] drm_client_dev_hotplug+0x9e/0xd0\n\u003c4\u003e [515.287829] drm_kms_helper_hotplug_event+0x1a/0x30\n\u003c4\u003e [515.287834] drm_dp_delayed_destroy_work+0x3df/0x410\n[drm_display_helper]\n\u003c4\u003e [515.287861] process_one_work+0x22b/0x6f0\n\u003c4\u003e [515.287874] worker_thread+0x1e8/0x3d0\n\u003c4\u003e [515.287879] ? __pfx_worker_thread+0x10/0x10\n\u003c4\u003e [515.287882] kthread+0x11c/0x250\n\u003c4\u003e [515.287886] ? __pfx_kthread+0x10/0x10\n\u003c4\u003e [515.287890] ret_from_fork+0x2d7/0x310\n\u003c4\u003e [515.287894] ? __pfx_kthread+0x10/0x10\n\u003c4\u003e [515.287897] ret_from_fork_asm+0x1a/0x30"
}
],
"id": "CVE-2025-71305",
"lastModified": "2026-06-25T21:04:37.997",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 3.6,
"source": "nvd@nist.gov",
"type": "Primary"
}
]
},
"published": "2026-05-27T14:16:43.000",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/342ccffd9f77fc29fe1c05fd145e4d842bd2feaa"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/3f44cdb5371faf225af37d5caba8f21ec0572469"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/4d2ccdea18b564e3f73e3e543854acea64e6277d"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/95dbd525efce2a9e9e1c50ad15213de644c85ad0"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/ac9a7c329a5610051fc476644c9b9145a5965ecb"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/d6afc7539ce06dadfa5b4787b3cfe79b95d8f67a"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "NVD-CWE-noinfo"
}
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
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…
Loading…