Peter Hutterer
4a5e9b1895
Xi: flush hierarchy events after adding/removing master devices
...
The `XISendDeviceHierarchyEvent()` function allocates space to store up
to `MAXDEVICES` (256) `xXIHierarchyInfo` structures in `info`.
If a device with a given ID was removed and a new device with the same
ID added both in the same operation, the single device ID will lead to
two info structures being written to `info`.
Since this case can occur for every device ID at once, a total of two
times `MAXDEVICES` info structures might be written to the allocation.
To avoid it, once one add/remove master is processed, send out the
device hierarchy event for the current state and continue. That event
thus only ever has exactly one of either added/removed in it (and
optionally slave attached/detached).
CVE-2024-21885, ZDI-CAN-22744
This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
2024-01-16 09:24:26 +01: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
2024-01-16 09:24:01 +01: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
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
2024-01-16 09:24:26 +01: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:02:06 +10:00
2012-03-21 13:54:42 -07:00
2023-10-25 00:32:52 +00: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
2024-01-16 09:23:47 +01: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