Peter Hutterer
a6c0d7b142
Xi: disallow passive grabs with a detail > 255
...
The XKB protocol effectively prevents us from ever using keycodes above
255. For buttons it's theoretically possible but realistically too niche
to worry about. For all other passive grabs, the detail must be zero
anyway.
This fixes an OOB write:
ProcXIPassiveUngrabDevice() calls DeletePassiveGrabFromList with a
temporary grab struct which contains tempGrab->detail.exact = stuff->detail.
For matching existing grabs, DeleteDetailFromMask is called with the
stuff->detail value. This function creates a new mask with the one bit
representing stuff->detail cleared.
However, the array size for the new mask is 8 * sizeof(CARD32) bits,
thus any detail above 255 results in an OOB array write.
CVE-2022-46341, ZDI-CAN 19381
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
Acked-by: Olivier Fourdan <ofourdan@redhat.com >
(cherry picked from commit 51eb63b0ee )
2022-12-14 11:24:39 +10:00
..
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2021-04-13 14:28:13 +02:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-05-14 13:17:30 +01:00
2020-07-05 13:07:33 -07:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2022-07-01 15:15:15 +03:00
2020-03-30 21:48:11 +00:00
2021-05-30 13:26:37 +03:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2020-07-05 13:07:33 -07:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2014-03-27 14:09:43 +00:00
2017-04-26 15:25:27 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2020-03-30 21:48:11 +00:00
2012-03-21 13:54:42 -07:00
2017-06-19 11:58:56 +10:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2016-10-26 15:35:07 +10:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2019-02-14 09:10:58 +10:00
2013-05-07 09:41:19 +10:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2020-08-25 17:01:29 +02:00
2021-08-17 16:02:44 -04:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2022-12-14 11:24:39 +10:00
2012-03-21 13:54:42 -07:00
2020-07-05 13:07:33 -07:00
2012-03-21 13:54:42 -07:00
2021-05-30 13:46:59 +03:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2021-05-30 13:26:33 +03:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-03-01 10:16:20 -05:00
2012-03-21 13:54:42 -07:00
2017-06-07 14:49:04 +10:00
2012-03-21 13:54:42 -07:00