CVE-2024-40916: drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found

Published Jul 12, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found

When reading EDID fails and driver reports no modes available, the DRM core adds an artificial 1024x786 mode to the connector. Unfortunately some variants of the Exynos HDMI (like the one in Exynos4 SoCs) are not able to drive such mode, so report a safe 640x480 mode instead of nothing in case of the EDID reading failure.

This fixes the following issue observed on Trats2 board since commit 13d5b040363c ("drm/exynos: do not return negative values from .getmodes()"):

[drm] Exynos DRM: using 11c00000.fimd device for DMA mapping operations exynos-drm exynos-drm: bound 11c00000.fimd (ops fimdcomponentops) exynos-drm exynos-drm: bound 12c10000.mixer (ops mixercomponentops) exynos-dsi 11c80000.dsi: [drm:samsungdsimhostattach] Attached s6e8aa0 device (lanes:4 bpp:24 mode-flags:0x10b) exynos-drm exynos-drm: bound 11c80000.dsi (ops exynosdsicomponentops) exynos-drm exynos-drm: bound 12d00000.hdmi (ops hdmicomponentops) [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 1 exynos-hdmi 12d00000.hdmi: [drm:hdmiphyenable.part.0] ERROR PLL could not reach steady state panel-samsung-s6e8aa0 11c80000.dsi.0: ID: 0xa2, 0x20, 0x8c exynos-mixer 12c10000.mixer: timeout waiting for VSYNC ------------[ cut here ]------------ WARNING: CPU: 1 PID: 11 at drivers/gpu/drm/drmatomichelper.c:1682 drmatomichelperwaitforvblanks.part.0+0x2b0/0x2b8 [CRTC:70:crtc-1] vblank wait timed out Modules linked in: CPU: 1 PID: 11 Comm: kworker/u16:0 Not tainted 6.9.0-rc5-next-20240424 #14913 Hardware name: Samsung Exynos (Flattened Device Tree) Workqueue: eventsunbound deferredprobeworkfunc Call trace: unwindbacktrace from showstack+0x10/0x14 showstack from dumpstacklvl+0x68/0x88 dumpstacklvl from warn+0x7c/0x1c4 warn from warnslowpathfmt+0x11c/0x1a8 warnslowpathfmt from drmatomichelperwaitforvblanks.part.0+0x2b0/0x2b8 drmatomichelperwaitforvblanks.part.0 from drmatomichelpercommittailrpm+0x7c/0x8c drmatomichelpercommittailrpm from committail+0x9c/0x184 committail from drmatomichelpercommit+0x168/0x190 drmatomichelpercommit from drmatomiccommit+0xb4/0xe0 drmatomiccommit from drmclientmodesetcommitatomic+0x23c/0x27c drmclientmodesetcommitatomic from drmclientmodesetcommitlocked+0x60/0x1cc drmclientmodesetcommitlocked from drmclientmodesetcommit+0x24/0x40 drmclientmodesetcommit from drmfbhelperrestorefbdevmodeunlocked+0x9c/0xc4 drmfbhelperrestorefbdevmodeunlocked from drmfbhelpersetpar+0x2c/0x3c drmfbhelpersetpar from fbconinit+0x3d8/0x550 fbconinit from visualinit+0xc0/0x108 visualinit from dobindcondriver+0x1b8/0x3a4 dobindcondriver from dotakeoverconsole+0x140/0x1ec dotakeoverconsole from dofbcontakeover+0x70/0xd0 dofbcontakeover from fbconfbregistered+0x19c/0x1ac fbconfbregistered from registerframebuffer+0x190/0x21c registerframebuffer from drmfbhelperinitialconfigandunlock+0x350/0x574 drmfbhelperinitialconfigandunlock from exynosdrmfbdevclienthotplug+0x6c/0xb0 exynosdrmfbdevclienthotplug from drmclientregister+0x58/0x94 drmclientregister from exynosdrmbind+0x160/0x190 exynosdrmbind from trytobringupaggregatedevice+0x200/0x2d8 trytobringupaggregatedevice from componentadd+0xb0/0x170 componentadd from mixerprobe+0x74/0xcc mixerprobe from platformprobe+0x5c/0xb8 platformprobe from reallyprobe+0xe0/0x3d8 reallyprobe from driverprobedevice+0x9c/0x1e4 driverprobedevice from driverprobedevice+0x30/0xc0 driverprobedevice from deviceattachdriver+0xa8/0x120 deviceattachdriver from busforeachdrv+0x80/0xcc busforeachdrv from deviceattach+0xac/0x1fc deviceattach from busprobedevice+0x8c/0x90 busprobedevice from deferredprobeworkfunc+0 ---truncated---

Affected Software

12 affected componentsFixes available
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1
debian/linux-6.1
6.1.129-1~deb11u1
Linux Linux kernel>=5.4.274<5.4.279
Linux Linux kernel>=5.10.215<5.10.221
Linux Linux kernel>=5.15.154<5.15.162
Linux Linux kernel>=6.1.84<6.1.95
Linux Linux kernel>=6.6.24<6.6.35
Linux Linux kernel>=6.7.12<6.8
Linux Linux kernel>=6.8.3<6.9.6
Linux Linux kernel=6.10-rc1
Linux Linux kernel=6.10-rc2
Linux Linux kernel=6.10-rc3

Event History

Jul 12, 2024
CVE Published
via MITRE·12:24 PM
Data Sourced
via MITRE·12:24 PM
Description
Data Sourced
via NVD·01:15 PM
Description
Data Sourced
via NVD·01:15 PM
RemedySeverityAffected Software
Apr 27, 2025
Data Sourced
via Ubuntu·05:24 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-40916?

The severity of CVE-2024-40916 is classified as medium risk due to potential display mode manipulation.

2

How do I fix CVE-2024-40916?

To fix CVE-2024-40916, update to the latest versions of the affected Linux kernel packages such as 5.10.223-1 or 6.12.12-1.

3

What systems are affected by CVE-2024-40916?

CVE-2024-40916 affects specific versions of the Linux kernel, including versions 5.10.223-1, 5.10.226-1, and 6.12.12-1.

4

What are the potential impacts of CVE-2024-40916?

The potential impacts of CVE-2024-40916 include incorrect display settings in the absence of valid EDID data, leading to degraded user experience.

5

Is there a workaround for CVE-2024-40916?

A workaround for CVE-2024-40916 includes manually configuring display settings to avoid reliance on EDID auto-detection.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203