
Уразливість виконання коду в прошивці UEFI зачіпає більшість серверів
Уразливість пошкодження пам'яті в аналізаторі ICMP EDK2, позначена як CVE-2026-97631, може дозволити нападникам виконати код до завантаження операційної системи і до того, як прошивка застосує захисти на кшталт Secure Boot, на серверах із мережевим завантаженням.
Критичну уразливість виконання коду в TianoCore EDK II, відкритій кодовій базі багатьох прошивок UEFI для завантаження, публічно розкрили до запланованого на січень координованого розкриття. Під позначенням CVE-2026-97631 і з оцінкою 9,5 з 10, вона зачіпає прошивки, які використовує більшість постачальників серверів і дата-центрів світу, але вразливі лише організації, чиї машини завантажуються з мережі.
Пошкодження пам'яті під час PXE-завантаження
CVE-2026-97631 є 16-річним переповненням буфера в драйвері PXE-Base Code (NetworkPkg/UefiPxeBcDxe), який дає змогу серверам, сховищам та іншим пристроям завантажуватися кодом із локальної мережі. Під час такого завантаження в середовищі попереднього виконання драйвер тримає відкритим запит на приймання повідомлень про помилки ICMP і копіює кожне повідомлення у фіксоване поле Mode.IcmpError розміром 504 байти. Обробка копіювання неправильна в обробниках IPv4 і IPv6, тож завелике повідомлення може записати байти під контролем нападника за межами поля. Зловмисний інсайдер або хакер із низькорівневим доступом до локальної мережі може надіслати таке повідомлення про помилку під час послідовності PXE-завантаження, пошкодивши UEFI-модуль, що виконується на процесорі. Код виконується в кільці 0 до того, як завантажиться операційна система і прошивка застосує захисти на кшталт Secure Boot та ланцюга довіри, який вона встановлює для всього коду, завантаженого під час старту, зокрема TPM.
Розкриття сталося раніше
Уразливість виявили Alex Matrosov з Anthropic і Dan Holmes з Google; вони домовилися тримати її в таємниці до координованого розкриття, запланованого на січень. AMI минулого місяця опублікувала pull request із деталями уразливості та виправленням коду, а члени проєкту TianoCore минулого тижня опублікували публічне попередження після того, як ця публікація привернула увагу дослідників. Коли код виправлення публічно доступний, досвідченим хакерам буде тривіально дізнатися, як спрацьовує уразливість, і створити робочі експлойти. Корисні навантаження, які доставляє уразливість, не мають стійкості, тобто виконуються лише один раз, але можуть відкрити шлях для інших навантажень, що виконуються на початку кожного завантаження.
Кого це стосується
Майже всі постачальники UEFI, зокрема AMI, Insyde і Phoenix, широко використовують еталонний код EDK2, а Project Mu, загартоване відгалуження EDK2 від Microsoft, також використовував код із уразливим компонентом. Уразливість не зачіпає користувачів домашніх і малих офісів, а також тих, хто завантажується лише з дискових накопичувачів. Вона стосується лише організацій, чиї машини завантажуються з локальних мереж або, можливо, з ресурсів, підключених до Інтернету, і навіть тоді лише коли прошивка покладається на EDK2 і використовує функціональність PXE, яка типово увімкнена. Певний рівень контролю над локальною мережею є передумовою, що, ймовірно, обмежує експлуатацію інсайдерами або нападниками на кшталт державних угруповань чи операторів програм-вимагачів, які отримали низькорівневий доступ і шукають способів підвищити системні права. Наразі немає доказів того, що CVE-2026-97631 дає початкову точку входу в мережу. Jesse Michael, провідний дослідник компанії з безпеки прошивок Eclypsium, сказав, що нападнику доводиться вгадувати конкретні адреси в цільовій системі, тому експлойт потрібно налаштовувати під кожну модель, версію й конфігурацію, а не застосовувати один до різноманітних пристроїв. Intel заявила, що жоден із її комерційних продуктів, які зараз перебувають під підтримкою безпеки, не відомий як зачіплений, і що вона не включає вразливу функціональність EDK2 до свого еталонного коду, тоді як Arm заявила, що проблема не стосується безпосередньо її портфеля продуктів. Водночас загальнодоступний еталонний код Intel посилається на EDK2, а прошивка, яку надає Arm, також значною мірою спирається на нього, тож хоча деякі платформи можуть бути вільні від коду EDK2, користувачам усіх серверів доцільно перевірити, чи не зачіпає їх CVE-2026-97631. AMD, Phoenix Technologies, AMI, Microsoft і Amazon не відповіли на запитання до публікації.
Що можуть зробити захисники
Ті, кого це стосується, мають звернутися до виробника прошивки для завантаження їхніх систем і попросити рекомендації. Вони мають розглянути тимчасове вимкнення можливостей мережевого завантаження, якщо це можливо. У конфігураціях прошивки слід увімкнути засоби безпеки, такі як TPM і Secure Boot, коли це можливо, хоча ці захисти не захищають від цієї загрози. Також варто стежити за журналами на предмет ознак спроб експлуатації. HD Moore, творець Metasploit і головний дослідницький директор Dragos, сказав, що нападник, який має на меті скомпрометувати сусідню кінцеву точку або сервер і володіє короткостроковим доступом до мережі, може використати цю помилку для перехоплення потоку виконання програми, поки процес завантаження має доступ до чутливих компонентів, таких як TPM, що потенційно може зламати шифрування диска.
Джерела: Ars Technica
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.