PixieFAIL – вразливість у мережевому стеку прошивок UEFI, що застосовується для PXE-завантаження

У UEFI-прошивках на основі відкритої платформи TianoCore EDK2, які зазвичай використовуються на серверних системах, виявлено 9 вразливостей, що отримали збірне кодове ім'я PixieFAIL. Вразливості присутні в мережевому стеку прошивок, що використовується для організації завантаження мережі (PXE). Найбільш небезпечні вразливості дозволяють неаутентифікованому атакуючому організувати віддалене виконання свого коду на рівні прошивки в системах, що допускають завантаження PXE з використанням мережі IPv6.

Менш небезпечні проблеми призводять до відмови в обслуговуванні (блокування завантаження), витоку інформації, отруєння кешу DNS та перехоплення TCP-сеансів. Більшість уразливостей може бути експлуатована з локальної мережі, але окремі вразливості допускають і атаку із зовнішньої мережі. Типовий сценарій атаки зводиться до моніторингу трафіку в локальній мережі та надсилання спеціально оформлених пакетів при виявленні активності, пов'язаної із завантаженням системи PXE. Наявність доступу до сервера завантаження або сервера DHCP не потрібна. Для демонстрації техніки атаки опубліковано прототипи експлоїтів.

UEFI-прошивки на базі платформи TianoCore EDK2 використовуються у багатьох великих компаніях, хмарних провайдерах, ЦОД та обчислювальних кластерах. Зокрема, вразливий модуль NetworkPkg з реалізацією PXE-завантаження, використовуються в прошивках, що розвиваються компаніями ARM, Insyde Software (Insyde H20 UEFI BIOS), American Megatrends (AMI Aptio OpenEdition), Phoenix Technologies (SecureCore), Intel, Dell та Microsoft (Project Mu). Передбачалося, що вразливості також зачіпають платформу ChromeOS, в репозиторії якої є пакет EDK2, але компанія Google заявила, що цей пакет не використовується в прошивках для Chromebook і платформа ChromeOS не схильна до проблеми.

Виявлені вразливості:

  • CVE-2023-45230 – переповнення буфера в коді клієнта DHCPv6, що експлуатується через передачу надто довгого ідентифікатора сервера (опція Server ID).
  • CVE-2023-45234 - переповнення буфера при обробці опції з параметрами DNS-сервера, що передаються в повідомленні, що анонсує наявність сервера DHCPv6.
  • CVE-2023-45235 – переповнення буфера при обробці опції з ідентифікатором сервера (Server ID) у повідомленнях з анонсами проксі-сервера для DHCPv6.
  • CVE-2023-45229 — цілечисленне переповнення через нижню межу (underflow), що виявляється при обробці опцій IA_NA/IA_TA у повідомленнях DHCPv6, які анонсують DHCP-сервер.
  • CVE-2023-45231 - витік даних з області поза буфером при обробці повідомлень ND Redirect (Neighbor Discovery) з усіченими значеннями опцій.
  • CVE-2023-45232 - нескінченне зациклювання при розборі невідомих опцій у заголовку з параметрами точки призначення (Destination Options).
  • CVE-2023-45233 - нескінченне зациклювання при розборі опції PadN в заголовку пакета.
  • CVE-2023-45236 — використання передбачуваних початкових номерів послідовності TCP, що дозволяють вклинитися в з'єднання TCP.
  • CVE-2023-45237 - використання ненадійного генератора псевдовипадкових чисел, що видає передбачувані значення.

Інформація про вразливість була надіслана до CERT/CC 3 серпня 2023 року, а дата розкриття інформації була запланована на 2 листопада. Тим не менш, через необхідність скоординованого випуску виправлень, що охоплює багатьох виробників, дату публікації було перенесено спочатку на 1 грудня, а потім переносилося на 12 грудня та 19 грудня 2023 року, але в кінцевому рахунку було розкрито 16 січня 2024 року. При цьому компанія Microsoft просила відкласти оприлюднення інформації до травня.

Джерело: opennet.ru

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