HIGH Introduced in 2.6.39
omapdrm IsrTable UAF
CVE-2026-90316
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.9MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: drm/omap: dsi: Do not copy isr table To be able to unregister stuff from isrs, the corresponding table was copied. Nobody seems to unregister stuff that way, so it does not help. But there are stack-allocated objects passed to these isrs giving chances of UAF of these objects if irqs are unregistered while they are handled, so better do not copy that table.
02KernelScan AI Analysis
Risk summary
A use-after-free vulnerability in the OMAP DSI display driver's interrupt handler can be exploited by a local user on systems with TI OMAP SoC hardware. The race condition between interrupt dispatch and ISR unregistration can lead to kernel memory corruption, potentially resulting in privilege escalation or a kernel crash. Systems without OMAP DSI hardware are not affected.
Vulnerability analysis
The OMAP DSI display driver's interrupt handler copies its ISR registration table to a temporary buffer before releasing its spinlock and dispatching interrupt callbacks from that copy. This creates a window where stack-allocated objects referenced by ISR entries can be freed—when the function that registered them returns—while the handler is still iterating over the copy and invoking those callbacks, resulting in a use-after-free. The fix removes the copy entirely and dispatches handlers directly from the live ISR table while the spinlock is still held, closing the race window. This vulnerability is reachable locally on systems with TI OMAP SoC hardware through the DRM display subsystem; a local user with typical display device access can trigger DSI interrupt activity and ISR unregistration without requiring special capabilities.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.15 | 2.6.39 | 5.15.221 | b3cbd1451c24 |
| 6.1 | 2.6.39 | 6.1.188 | f6733460b6d4 |
| 6.12 | 2.6.39 | 6.12.110 | 2c27a84ba8d1 |
| 6.18 | 2.6.39 | 6.18.52 | 9063b30faae8 |
| 6.6 | 2.6.39 | 6.6.157 | 542a6a3ec77c |
| 7.2 | 2.6.39 | 7.2.6 | 30810bdf273b |
| mainline | 2.6.39 | 7.3 | 97c03b32b28a |
| cip/6.1 | 2.6.39 | 6.1.189-cip61 | f6733460b6d4 |
| cip/6.1-rt | 2.6.39 | 6.1.189-cip61-rt32 | f6733460b6d4 |
| cip/6.12 | 2.6.39 | 6.12.111-cip32 | 2c27a84ba8d1 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.111-cip32 |
| cip/6.1 | Fixed in 6.1.189-cip61 |
| cip/6.1-rt | Fixed in 6.1.189-cip61-rt32 |
| cip/5.10 | Affected — no CIP fix yet (latest 5.10.271-cip78) |
| cip/5.10-rt | Affected — no CIP fix yet (latest 5.10.268-cip77-rt34) |
| cip/4.19 | Affected — no CIP fix yet (latest 4.19.325-cip136) |
| cip/4.19-rt | Affected — no CIP fix yet (latest 4.19.325-cip136-rt50) |
| cip/4.4 | Affected — no CIP fix yet (latest 4.4.302-cip115) |
| cip/4.4-rt | Affected — no CIP fix yet (latest 4.4.302-cip115-rt63) |