В ядре Linux устранена следующая уязвимость: md/raid1: Исправлено использование памяти стека после возврата в raid1_reshape В функции raid1…
В ядре Linux устранена следующая уязвимость: md/raid1: Исправлено использование памяти стека после возврата в raid1_reshape В функции raid1_reshape переменная newpool выделяется в стеке и присваивается conf->r1bio_pool. Это приводит к тому, что conf->r1bio_pool.wait.head указывает на адрес в стеке. Позднее обращение к этому адресу может привести к панике ядра. Пример пути доступа: raid1_reshape() { // newpool находится в стеке mempool_t newpool, oldpool; // инициализация newpool.wait.head адресом в стеке mempool_init(&newpool, ...); conf->r1bio_pool = newpool; } raid1_read_request() или raid1_write_request() { alloc_r1bio() { mempool_alloc() { // если pool->alloc завершается с ошибкой remove_element() { --pool->curr_nr; } } } } mempool_free() { if (pool->curr_nr < pool->min_nr) { // pool->wait.head является адресом в стеке // wake_up() попытается обратиться к этому неверному адресу // что приводит к панике ядра return; wake_up(&pool->wait); } } Исправление: повторная инициализация conf->r1bio_pool.wait после присвоения newpool [1]. Источники: - [1] https://git.kernel.org/stable/c/d8a6853d00fbaa810765c8ed2f452a5832273968 - [2] https://git.kernel.org/stable/c/12b00ec99624f8da8c325f2dd6e807df26df0025 - [3] https://git.kernel.org/stable/c/48da050b4f54ed639b66278d0ae6f4107b2c4e2d - [4] https://git.kernel.org/stable/c/5f35e48b76655e45522df338876dfef88dafcc71 - [5] https://git.kernel.org/stable/c/df5894014a92ff0196dbc212a7764e97366fd2b7
Продукт читает данные за пределами конца или до начала предназначенного буфера.
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-5.10 | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-5.15 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |