В ядре Linux устранена следующая уязвимость: iavf: исправить проблемы off-by-one в iavf_config_rss_reg() Есть ошибки off-one при настройке …
В ядре Linux устранена следующая уязвимость: iavf: исправить проблемы off-by-one в iavf_config_rss_reg() Есть ошибки off-one при настройке хэш-ключа RSS и поиска таблица, вызывающая внеграничные чтения в память [1] и вне-накладные Пишет в устройства регистры. Перед совершением 43a3d9ba34c9 ("i40evf: Позволить драйверу PF настроить RSS"), Верхние границы петли были: i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX который является безопасным, так как значение является последним действительным индексом. Это обязательство изменило границы на: i <= адаптер->rss_{key,lut}_size / 4 где `rss_{key,lut}_size / 4` - это количество слов, так что последнее действительный индекс - `(rss_{key,lut}_size / 4) - 1`. Таким образом, используя `<=` доступ к одному элементу за концом. Исправить проблемы, используя `<` вместо `<=`, гарантируя, что мы не превышаем Грани. [1] KASAN splat о rss_key_size off-by-one BUG: KASAN: слоган-из-границы в iavf_config_rss+0x619/0x800 Прочитейте размер 4 по адресу ff888102c50134 по задачам работник/u8:6/63 CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Не испорченный 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-грязный #156 ПРЕЕМПТ (добровольно) Аппаратное название: QEMU Стандартный ПК (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Рабочая очередь: iavf iavf_watchdog_task Трейс по вызову: <TASK> дап_стэк_lvl+0x6f/0xb0 print_report+0x170/0x4f3 kasan_report+0xe1/0x1a0 iavf_config_rss+0x619/0x800 iavf_watchdog_task+0x2be7/0x3230 процесс_one_work+0x7fd/0x1420 рабочий_thread+0x4d1/0xd40 kthread+0x344/0x660 ret_from_fork+0x249/0x320 ret_from_fork_asm+0x1a/0x30 </ ТАСК> Выделено заданием 63: kasan_save_stack+0x30/0x50 kasan_save_track+0x14/0x30 __kasan_kmalloc+0x7f/0x90 __kmalloc_noprof+0x246/0x6f0 iavf_watchdog_task+0x28fc/0x3230 процесс_one_work+0x7fd/0x1420 рабочий_thread+0x4d1/0xd40 kthread+0x344/0x660 ret_from_fork+0x249/0x320 ret_from_fork_asm+0x1a/0x30 Адрес багги принадлежит объекту по телефону fff888102c505000 который принадлежит к кэшу меллок-64 размера 64 Оборудован адрес расположено 0 байт справа от выделены 52-байтная область [ff888102c50100, ffff888102c50134) Оборудованный адрес принадлежит физической странице: страница: refcount:0 соотношением карты:0 mapping:00000000000000 индекс:0x0 pfn:0x102c50 флаги: 0x200000000000 (node=0|zone=2) page_type: f5(slab) сырой: 00200000000000000 fff88811000418c00,000 dead000000000122 000000000000000000000 сырой: 000000000000000 0000000008000020 00000000020 000000000 страница сброшена потому что: kasan: плохой доступ обнаружен Состояние памяти вокруг адреса багги: ffff888102c50000: 00 00 00 00 00 00 ffc fc fc fc fc fc fc fc fc fc fc fc ffff888102c50080: 00 00 00 00 00 00 ffc fc fc fc fc fc fc fc fc fc fc fc >ff988102c50100: 00 00 00 00 00 00 04 ffc fc fc fc fc fc fc fc fc fc fc fc ↑ fff888102c50180: 00 00 00 00 00 00 00 00 ffc fc fc fc fc fc fc fc fc fc fc ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fcc
Продукт вычисляет или использует некорректное максимальное или минимальное значение, которое на 1 больше или на 1 меньше правильного значения.
https://cwe.mitre.org/data/definitions/193.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |