В ядре Linux устранена уязвимость: mm/memory-failure: исправлено VM_BUG_ON_PAGE(PagePoisoned(page)) при восстановлении памяти При выполнени…
В ядре Linux устранена уязвимость: mm/memory-failure: исправлено VM_BUG_ON_PAGE(PagePoisoned(page)) при восстановлении памяти При выполнении тестов на отказ памяти возникал следующий сбой: page dumped because: VM_BUG_ON_PAGE(PagePoisoned(page)) kernel BUG at include/linux/page-flags.h:616! Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI ... Коренная причина заключалась в том, что unpoison_memory() пытался проверить флаг PG_HWPoison неинициализированной страницы. Это можно воспроизвести, выполнив следующие шаги: 1. Отключить блок памяти: echo offline > /sys/devices/system/memory/memory12/state 2. Получить номер отключенной страницы: page-types -b n -rlN 3. Записать номер страницы в unpoison-pfn: echo <pfn> > /sys/kernel/debug/hwpoison/unpoison-pfn Этот сценарий можно идентифицировать по возврату NULL функцией pfn_to_online_page(). Поскольку страницы ZONE_DEVICE не ожидаются, можно просто завершить операцию с ошибкой, если pfn_to_online_page() == NULL [1]. Источники: - [1] https://git.kernel.org/stable/c/e4ec6def5643a1c9511115b3884eb879572294c6 - [2] https://git.kernel.org/stable/c/3d278e89c2ea62b1aaa4b0d8a9766a35b3a3164a - [3] https://git.kernel.org/stable/c/7618fd443aa4cfa553a64cacf5721581653ee7b0 - [4] https://git.kernel.org/stable/c/63a327a2375a8ce7a47dec5aaa4d8a9ae0a00b96 - [5] https://git.kernel.org/stable/c/d613f53c83ec47089c4e25859d5e8e0359f6f8da
Продукт читает данные за пределами конца или до начала предназначенного буфера.
https://cwe.mitre.org/data/definitions/125.html →Открыть в коллекции CWE →Злоумышленник атакует цель, передавая входные данные, вынуждающие приложение читать за пределами границы определённого буфера. Как правило, это происходит, когда значение, определяющее начало или конец чтения, установлено на позиции за пределами допустимой области памяти буфера. Атака данного типа может привести к раскрытию конфиденциальной информации, аварийному завершению работы системы или выполнению произвольного кода.
https://capec.mitre.org/data/definitions/540.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |