В ядре Linux была решена следующая уязвимость: ring-buffer: Проверка метаданных подмассива постоянных данных Метаданные для отображенного к…
В ядре Linux была решена следующая уязвимость: ring-buffer: Проверка метаданных подмассива постоянных данных Метаданные для отображенного кольцевого буфера содержат массив индексов всех подбуферов. Первый элемент — это страница для чтения, а остальные элементы определяют порядок под buffers в том, как должен быть создан связанный список кольцевого буфера. Текущий валидатор проверяет, что все элементы находятся в пределах 0 и nr_subbufs. Но он не проверяет, есть ли дубликаты. При работе с кольцевым буфером я повредил этот массив, где добавил дубликаты. Валидатор этого не поймал и создал связанный список кольцевого буфера на его основе. К счастью, повреждение заключалось в том, что страница для чтения также была в пути записи и только выводила поврежденные данные, но не вызывала сбой ядра. Но если бы были дубликаты с писательской стороны, это могло бы повредить связанный список кольцевого буфера и привести к сбою. Создайте битовую маску с размером, равным количеству подбуферов. Затем очистите её. При обходе массива subbuf, проверяя, находятся ли элементы в пределах диапазона, проверьте, установлена ли уже его битовая маска в subbuf_mask. Если это так, то это дубликаты, и валидность будет провалена. Если нет, установите соответствующий бит и продолжите.
| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |