CVE-2024-26607: drm/bridge: sii902x: Fix probing race issue
In the Linux kernel, the following vulnerability has been resolved:
drm/bridge: sii902x: Fix probing race issue
A null pointer dereference crash has been observed rarely on TI platforms using sii9022 bridge:
[ 53.271356] sii902xgetedid+0x34/0x70 [sii902x] [ 53.276066] sii902xbridgegetedid+0x14/0x20 [sii902x] [ 53.281381] drmbridgegetedid+0x20/0x34 [drm] [ 53.286305] drmbridgeconnectorgetmodes+0x8c/0xcc [drmkmshelper] [ 53.292955] drmhelperprobesingleconnectormodes+0x190/0x538 [drmkmshelper] [ 53.300510] drmclientmodesetprobe+0x1f0/0xbd4 [drm] [ 53.305958] drmfbhelperinitialconfigandunlock+0x50/0x510 [drmkmshelper] [ 53.313611] drmfbhelperinitialconfig+0x48/0x58 [drmkmshelper] [ 53.320039] drmfbdevdmaclienthotplug+0x84/0xd4 [drmdmahelper] [ 53.326401] drmclientregister+0x5c/0xa0 [drm] [ 53.331216] drmfbdevdmasetup+0xc8/0x13c [drmdmahelper] [ 53.336881] tidssprobe+0x128/0x264 [tidss] [ 53.341174] platformprobe+0x68/0xc4 [ 53.344841] reallyprobe+0x188/0x3c4 [ 53.348501] driverprobedevice+0x7c/0x16c [ 53.352854] driverprobedevice+0x3c/0x10c [ 53.357033] deviceattachdriver+0xbc/0x158 [ 53.361472] busforeachdrv+0x88/0xe8 [ 53.365303] deviceattach+0xa0/0x1b4 [ 53.369135] deviceinitialprobe+0x14/0x20 [ 53.373314] busprobedevice+0xb0/0xb4 [ 53.377145] deferredprobeworkfunc+0xcc/0x124 [ 53.381757] processonework+0x1f0/0x518 [ 53.385770] workerthread+0x1e8/0x3dc [ 53.389519] kthread+0x11c/0x120 [ 53.392750] retfromfork+0x10/0x20
The issue here is as follows:
- tidss probes, but is deferred as sii902x is still missing. - sii902x starts probing and enters sii902xinit(). - sii902x calls drmbridgeadd(). Now the sii902x bridge is ready from DRM's perspective. - sii902x calls sii902xaudiocodecinit() and platformdeviceregisterdata() - The registration of the audio platform device causes probing of the deferred devices. - tidss probes, which eventually causes sii902xbridgegetedid() to be called. - sii902xbridgegetedid() tries to use the i2c to read the edid. However, the sii902x driver has not set up the i2c part yet, leading to the crash.
Fix this by moving the drmbridgeadd() to the end of the sii902xinit(), which is also at the very end of sii902xprobe().
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
Event History
Frequently Asked Questions
What is the severity of CVE-2024-26607?
CVE-2024-26607 has been classified as medium severity due to its potential to cause a null pointer dereference crash.
How do I fix CVE-2024-26607?
To fix CVE-2024-26607, upgrade to the latest supported versions of the Linux kernel, including patches such as 6.1.123-1 or higher.
Which versions of the Linux kernel are affected by CVE-2024-26607?
CVE-2024-26607 affects Linux kernel versions between 5.0 and 6.8-rc1.
What platforms are impacted by CVE-2024-26607?
CVE-2024-26607 specifically impacts Texas Instruments platforms using the sii9022 bridge.
What type of vulnerability is CVE-2024-26607?
CVE-2024-26607 is a null pointer dereference vulnerability that can lead to system crashes under specific conditions.