Input: evdev - sanitize event type index when fetching event masks
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
4.4
References 8
git.kernel.org
- stable/c/c79b08d8fa230871a3634e34a66e591ac2d084ef
- stable/c/f27fa9b39f925d26e034a1f382cb45523138f4ae
- stable/c/f3fc329acad9a71b3c077237cbac20670d2358c8
- stable/c/5db341189bb7ff041d570dbe36ecca7e32913927
- stable/c/433913b4a92214d76e9f0c03ad9128fec943d5f8
- stable/c/4034ef247a9dde3f56660b01f0c3280dac6b1274
- stable/c/810e1883d4815f29c30d900ad7333d03cc2515d1
- stable/c/3abd29c61d2ef37c4102cf755b18be53bb9dbea6