Вразливість у прошивках BMC-контролерів, що зачіпає сервери багатьох виробників

Компанія Eclypsium виявила дві вразливості в прошивках BMC-контролера, що поставляється на серверах Lenovo ThinkServer, що дозволяють локальному користувачеві підмінити прошивку або виконати довільний код на стороні чіпа BMC.

Подальший розбір показав, що ці проблеми стосуються і прошивки BMC-контролерів, які застосовуються в серверних платформах Gigabyte Enterprise Servers, які також використовуються в серверах таких компаній, як Acer, AMAX, Bigtera, Ciara, Penguin Computing та sysGen. У проблемних BMC-контролерах застосовувалися вразливі прошивки MergePoint EMS, розроблені стороннім постачальником Avocent (нині є підрозділом компанії Vertiv).

Перша вразливість викликана відсутністю криптографічної верифікації оновлень прошивки, що завантажуються (використовується тільки перевірка контрольної суми CRC32, всупереч рекомендації NIST (цифрові підписи), що дозволяє атакуючому, що має локальний доступ до системи, підмінити прошивку BMC. Проблема, наприклад, може бути використана для глибокої інтеграції руткіту, що залишається активним після переустановки операційної системи та блокує подальші оновлення прошивки (для усунення руткіту потрібно застосування програматора для перезапису SPI flash).

Друга вразливість присутня у коді оновлення прошивки та дозволяє здійснити підстановку своїх команд, які будуть виконані у BMC з найвищим рівнем привілеїв. Для атаки достатньо змінити значення параметра RemoteFirmwareImageFilePath у файлі конфігурації bmcfwu.cfg, через який визначається шлях до образу прошивки, що оновлюється. Під час чергового оновлення, яке можна ініціювати командою IPMI, цей параметр буде оброблений BMC і використаний у складі виклику popen() як частина рядка для /bin/sh. Так як рядок для формування shell-команди створюється із застосуванням виклику snprintf() без належного чищення спецсимволів, атакуючі можуть підставити свій код для виконання. Для експлуатації вразливості потрібна наявність прав, що дозволяють надіслати через IPMI команду контролеру BMC (за наявності права адміністратора на сервері можна надіслати команду IPMI без додаткової автентифікації).

Компанії Gigabyte та Lenovo були сповіщені про проблеми ще в липні 2018 року і встигли випустити оновлення до публічного розкриття відомостей. Компанія Lenovo випустила оновлення прошивок 15 листопада 2018 для серверів ThinkServer RD340, TD340, RD440, RD540 і RD640, але усунула в них тільки вразливість, що дозволяє здійснити підстановку команд, так як під час створення лінійки серверів на базі Mer2014PointXNUMX ще була поширена і спочатку не заявлялася.

8 травня цього року компанія Gigabyte випустила оновлення прошивок для материнських плат з контролером ASPEED AST2500, але, як і Lenovo, усунула тільки вразливість, пов'язану з підстановкою команд. Вразливі плати на базі ASPEED AST2400 поки що залишаються без оновлення. Gigabyte також заявив про перехід на використання прошивок MegaRAC SP-X від компанії AMI У тому числі нові прошивки на базі MegaRAC SP-X будуть запропоновані для систем, які раніше постачалися з прошивками MergePoint EMS. Рішення ухвалено після заяви Vertiv про припинення підтримки платформи MergePoint EMS. При цьому про оновлення прошивок на серверах, що випускаються компаніями Acer, AMAX, Bigtera, Ciara, Penguin Computing і sysGen на базі плат Gigabyte і оснащених вразливими прошивками MergePoint EMS поки що нічого не повідомляється.

Нагадаємо, що BMC являє собою спеціалізований контролер, що встановлюється в серверах, що має свій CPU, пам'ять, сховище та інтерфейси опитування датчиків, який надає низькорівневий інтерфейс для моніторингу та управління серверним обладнанням. За допомогою BMC незалежно від операційної системи, що працює на сервері, можна відстежувати стан датчиків, керувати живленням, прошивками і дисками, організувати віддалене завантаження по мережі, забезпечити роботу консолі віддаленого доступу і т.п.

Джерело: opennet.ru

Додати коментар або відгук