В ядре Linux устранена следующая уязвимость:
платформа/хром: сенсорный центр: привязан к номеру датчика, сообщенному ЕС. Каждое событие EC FIFO содержит 8-битный номер датчика (in->sensor_num).
cros_ec_sensorhub_ring_handler() проверяет количество событий FIFO,
количество операций чтения и привязка кольца, но не номер датчика, который
cros_ec_sensor_ring_process_event() затем использует unchecked для индексации
Sensorhub->batch_state[] — выделяется только Sensorhub->sensor_num
записи. Номер датчика, равный Sensor_num или больше, находится за пределами допустимого диапазона.
чтение и запись Batch_state[].
Проверьте номер датчика в обработчике кольца, где считывается каждое событие. из EC и удалить некорректное событие перед его использованием.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: platform/chrome: sensorhub: Bound the EC-reported sensor number Each EC FIFO event carries an 8-bit sensor number (in->sensor_num). cros_ec_sensorhub_ring_handler() validates the FIFO event count, the per-read count and the ring bound, but not the sensor number, which cros_ec_sensor_ring_process_event() then uses unchecked to index sensorhub->batch_state[] - allocated with only sensorhub->sensor_num entries. A sensor number of sensor_num or larger is an out-of-bounds read and write of batch_state[]. Validate the sensor number in the ring handler, where each event is read from the EC, and drop a malformed event before it is used.
Характеристики атаки
Последствия
Строка CVSS v3.1