CVE-2026-74683
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
Input: evdev - sanitize event type index when fetching event masks
The user-supplied event type index passed to EVIOCGMASK / EVIOCSMASK ioctls is used to index the static counts array in evdev_get_mask_cnt() and client evmasks array in evdev_get_mask().
While the event type is architecturally bounded by EV_CNT, speculative execution may mispredict bounds checks and perform out-of-bounds loads.
Sanitize the event type index in evdev_get_mask_cnt() branchlessly using array_index_mask_nospec(). This clamps the index to 0 for safe array access and forces the returned count to 0 speculatively when the index is out of bounds.
We do not need additional array_index_nospec() calls in evdev_get_mask() because evdev_get_mask_cnt() speculatively forces the count (and resulting xfer_size) to 0 for out-of-bounds types, preventing any speculative memory access to client evmasks array.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < c79b08d8fa230871a3634e34a66e591ac2d084ef | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f27fa9b39f925d26e034a1f382cb45523138f4ae | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f3fc329acad9a71b3c077237cbac20670d2358c8 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 5db341189bb7ff041d570dbe36ecca7e32913927 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 433913b4a92214d76e9f0c03ad9128fec943d5f8 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 4034ef247a9dde3f56660b01f0c3280dac6b1274 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 810e1883d4815f29c30d900ad7333d03cc2515d1 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 3abd29c61d2ef37c4102cf755b18be53bb9dbea6 | affected |
| Linux | Linux | 0 < 5.10.265 | affected |
| Linux | Linux | 0 < 5.15.216 | affected |
| Linux | Linux | 0 < 6.1.183 | affected |
| Linux | Linux | 0 < 6.6.152 | affected |
| Linux | Linux | 0 < 6.12.104 | affected |
| Linux | Linux | 0 < 6.18.45 | affected |
| Linux | Linux | 0 < 7.1.9 | affected |
| Linux | Linux | 5.10.265 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.216 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.183 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.152 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.104 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.45 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.9 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/c79b08d8fa230871a3634e34a66e591ac2d084ef
- https://git.kernel.org/stable/c/f27fa9b39f925d26e034a1f382cb45523138f4ae
- https://git.kernel.org/stable/c/f3fc329acad9a71b3c077237cbac20670d2358c8
- https://git.kernel.org/stable/c/5db341189bb7ff041d570dbe36ecca7e32913927
- https://git.kernel.org/stable/c/433913b4a92214d76e9f0c03ad9128fec943d5f8
- https://git.kernel.org/stable/c/4034ef247a9dde3f56660b01f0c3280dac6b1274
- https://git.kernel.org/stable/c/810e1883d4815f29c30d900ad7333d03cc2515d1
- https://git.kernel.org/stable/c/3abd29c61d2ef37c4102cf755b18be53bb9dbea6
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.