CVE-2024-26874
"Mediatek DRM Kernel Null Pointer Dereference Vulnerability"
Description
In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip It's possible that mtk_crtc->event is NULL in mtk_drm_crtc_finish_page_flip(). pending_needs_vblank value is set by mtk_crtc->event, but in mtk_drm_crtc_atomic_flush(), it's is not guarded by the same lock in mtk_drm_finish_page_flip(), thus a race condition happens. Consider the following case: CPU1 CPU2 step 1: mtk_drm_crtc_atomic_begin() mtk_crtc->event is not null, step 1: mtk_drm_crtc_atomic_flush: mtk_drm_crtc_update_config( !!mtk_crtc->event) step 2: mtk_crtc_ddp_irq -> mtk_drm_finish_page_flip: lock mtk_crtc->event set to null, pending_needs_vblank set to false unlock pending_needs_vblank set to true, step 2: mtk_crtc_ddp_irq -> mtk_drm_finish_page_flip called again, pending_needs_vblank is still true //null pointer Instead of guarding the entire mtk_drm_crtc_atomic_flush(), it's more efficient to just check if mtk_crtc->event is null before use.
INFO
Published Date :
April 17, 2024, 11:15 a.m.
Last Modified :
Nov. 21, 2024, 9:03 a.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
Exploitability Score :
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2024-26874
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2024-26874
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2024-26874
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Mar. 04, 2025
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H Added CWE CWE-476 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 from (excluding) 6.7.11 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 from (excluding) 6.6.23 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 from (excluding) 6.1.83 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 from (excluding) 5.15.153 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5 from (excluding) 5.10.214 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20 from (excluding) 5.4.273 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.7 from (excluding) 4.19.311 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.8 from (excluding) 6.8.2 Added CPE Configuration OR *cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* Added Reference Type CVE: https://git.kernel.org/stable/c/3fc88b246a2fc16014e374040fc15af1d3752535 Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/3fc88b246a2fc16014e374040fc15af1d3752535 Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/4688be96d20ffa49d2186523ee84f475f316fd49 Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/4688be96d20ffa49d2186523ee84f475f316fd49 Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/9acee29a38b4d4b70f1f583e5ef9a245db4db710 Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/9acee29a38b4d4b70f1f583e5ef9a245db4db710 Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/9beec711a17245b853d64488fd5b739031612340 Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/9beec711a17245b853d64488fd5b739031612340 Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/a3dd12b64ae8373a41a216a0b621df224210860a Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/a3dd12b64ae8373a41a216a0b621df224210860a Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/accdac6b71d5a2b84040c3d2234f53a60edc398e Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/accdac6b71d5a2b84040c3d2234f53a60edc398e Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/c958e86e9cc1b48cac004a6e245154dfba8e163b Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/c958e86e9cc1b48cac004a6e245154dfba8e163b Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/d2bd30c710475b2e29288827d2c91f9e6e2b91d7 Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/d2bd30c710475b2e29288827d2c91f9e6e2b91d7 Types: Mailing List, Patch Added Reference Type CVE: https://git.kernel.org/stable/c/dfde84cc6c589f2a9f820f12426d97365670b731 Types: Mailing List, Patch Added Reference Type kernel.org: https://git.kernel.org/stable/c/dfde84cc6c589f2a9f820f12426d97365670b731 Types: Mailing List, Patch Added Reference Type CVE: https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html Types: Mailing List Added Reference Type CVE: https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html Types: Mailing List -
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/3fc88b246a2fc16014e374040fc15af1d3752535 Added Reference https://git.kernel.org/stable/c/4688be96d20ffa49d2186523ee84f475f316fd49 Added Reference https://git.kernel.org/stable/c/9acee29a38b4d4b70f1f583e5ef9a245db4db710 Added Reference https://git.kernel.org/stable/c/9beec711a17245b853d64488fd5b739031612340 Added Reference https://git.kernel.org/stable/c/a3dd12b64ae8373a41a216a0b621df224210860a Added Reference https://git.kernel.org/stable/c/accdac6b71d5a2b84040c3d2234f53a60edc398e Added Reference https://git.kernel.org/stable/c/c958e86e9cc1b48cac004a6e245154dfba8e163b Added Reference https://git.kernel.org/stable/c/d2bd30c710475b2e29288827d2c91f9e6e2b91d7 Added Reference https://git.kernel.org/stable/c/dfde84cc6c589f2a9f820f12426d97365670b731 Added Reference https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html Added Reference https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Nov. 05, 2024
Action Type Old Value New Value Removed Reference kernel.org https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html Removed Reference kernel.org https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jun. 27, 2024
Action Type Old Value New Value Added Reference kernel.org https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html [No types assigned] -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jun. 25, 2024
Action Type Old Value New Value Added Reference kernel.org https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html [No types assigned] -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 29, 2024
Action Type Old Value New Value -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 14, 2024
Action Type Old Value New Value -
CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Apr. 17, 2024
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip It's possible that mtk_crtc->event is NULL in mtk_drm_crtc_finish_page_flip(). pending_needs_vblank value is set by mtk_crtc->event, but in mtk_drm_crtc_atomic_flush(), it's is not guarded by the same lock in mtk_drm_finish_page_flip(), thus a race condition happens. Consider the following case: CPU1 CPU2 step 1: mtk_drm_crtc_atomic_begin() mtk_crtc->event is not null, step 1: mtk_drm_crtc_atomic_flush: mtk_drm_crtc_update_config( !!mtk_crtc->event) step 2: mtk_crtc_ddp_irq -> mtk_drm_finish_page_flip: lock mtk_crtc->event set to null, pending_needs_vblank set to false unlock pending_needs_vblank set to true, step 2: mtk_crtc_ddp_irq -> mtk_drm_finish_page_flip called again, pending_needs_vblank is still true //null pointer Instead of guarding the entire mtk_drm_crtc_atomic_flush(), it's more efficient to just check if mtk_crtc->event is null before use. Added Reference kernel.org https://git.kernel.org/stable/c/accdac6b71d5a2b84040c3d2234f53a60edc398e [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/dfde84cc6c589f2a9f820f12426d97365670b731 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/4688be96d20ffa49d2186523ee84f475f316fd49 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/9beec711a17245b853d64488fd5b739031612340 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/d2bd30c710475b2e29288827d2c91f9e6e2b91d7 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/a3dd12b64ae8373a41a216a0b621df224210860a [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/9acee29a38b4d4b70f1f583e5ef9a245db4db710 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/3fc88b246a2fc16014e374040fc15af1d3752535 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/c958e86e9cc1b48cac004a6e245154dfba8e163b [No types assigned]
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2024-26874
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2024-26874
weaknesses.