Name | CVE-2024-26874 |
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. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-3840-1, DLA-3842-1, DSA-5681-1, ELA-1093-1, ELA-1116-1 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
linux (PTS) | jessie, jessie (lts) | 3.16.84-1 | vulnerable |
stretch (security) | 4.9.320-2 | vulnerable | |
stretch (lts), stretch | 4.9.320-3 | vulnerable | |
buster (security), buster, buster (lts) | 4.19.316-1 | fixed | |
bullseye | 5.10.223-1 | fixed | |
bullseye (security) | 5.10.226-1 | fixed | |
bookworm | 6.1.115-1 | fixed | |
bookworm (security) | 6.1.119-1 | fixed | |
trixie | 6.12.5-1 | fixed | |
sid | 6.12.6-1 | fixed | |
linux-4.19 (PTS) | jessie, jessie (lts) | 4.19.316-1~deb8u1 | fixed |
stretch (security) | 4.19.232-1~deb9u1 | vulnerable | |
stretch (lts), stretch | 4.19.316-1~deb9u1 | fixed | |
linux-5.10 (PTS) | jessie, jessie (lts) | 5.10.226-1~deb8u1 | fixed |
stretch (lts), stretch | 5.10.226-1~deb9u1 | fixed | |
buster, buster (lts) | 5.10.226-1~deb10u1 | fixed | |
buster (security) | 5.10.218-1~deb10u1 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
linux | source | jessie | (unfixed) | end-of-life | ||
linux | source | stretch | (unfixed) | end-of-life | ||
linux | source | buster | 4.19.316-1 | DLA-3840-1 | ||
linux | source | bullseye | 5.10.216-1 | DSA-5681-1 | ||
linux | source | bookworm | 6.1.85-1 | |||
linux | source | (unstable) | 6.7.12-1 | |||
linux-4.19 | source | jessie | 4.19.316-1~deb8u1 | ELA-1116-1 | ||
linux-4.19 | source | stretch | 4.19.316-1~deb9u1 | ELA-1116-1 | ||
linux-5.10 | source | jessie | 5.10.216-1~deb8u1 | ELA-1093-1 | ||
linux-5.10 | source | stretch | 5.10.216-1~deb9u1 | ELA-1093-1 | ||
linux-5.10 | source | buster | 5.10.216-1~deb10u1 | DLA-3842-1 |
https://git.kernel.org/linus/c958e86e9cc1b48cac004a6e245154dfba8e163b (6.9-rc1)