Luka oznaczona jako CVE-2026-97631 w TianoCore EDK II — otwartym kodzie UEFI, czyli oprogramowania, które uruchamia komputer przed systemem operacyjnym — dostała ocenę 9,5 na 10 i pozwala wykonać złośliwy kod jeszcze przed startem systemu. Problem dotyczy maszyn uruchamianych przez PXE, czyli startujących z sieci. Ujawnienie planowano dopiero na styczeń, ale w zeszłym miesiącu AMI opublikowało zgłoszenie zmian z opisem podatności i poprawką, a następnie TianoCore wydał publiczny komunikat.
Przepełnienie bufora, które przeleżało 16 lat
Błąd siedzi w parserze ICMP w stosie sieciowym EDK2, a dokładnie w sterowniku PXE-Base Code oznaczonym jako NetworkPkg/UefiPxeBcDxe. Podczas rozruchu z sieci moduł odbiera komunikaty błędów ICMP i kopiuje je do pola o stałej długości 504 bajtów. Zbyt długi pakiet może nadpisać sąsiednie dane w pamięci — zarówno dla IPv4, jak i IPv6. Przepełnienie jest w kodzie od 16 lat.
Atak wyprzedza Secure Boot
Kod uruchamia się przed systemem, więc wyprzedza Secure Boot i elementy łańcucha zaufania powiązane z TPM (układ przechowujący klucze kryptograficzne). Sam ładunek nie jest trwały, ale może otworzyć drogę kolejnym komponentom.
Napastnik nie wejdzie tą luką do sieci od zera — musi mieć kontrolę nad lokalną siecią albo niski poziom dostępu i trafić w moment rozruchu PXE. Najprostszy skutek to zawieszenie startu urządzenia. Przy exploicie dopasowanym do konkretnego modelu możliwe jest wykonanie kodu z najwyższymi uprawnieniami procesora, czyli na poziomie ring 0.
Ten kod jest u wielu producentów
EDK2 szeroko wykorzystują dostawcy UEFI, m.in. AMI, Insyde i Phoenix, a podatny komponent miał też Project Mu od Microsoftu. Intel podał, że nie zna objętych wsparciem produktów z tym problemem, ale zastrzegł rolę producentów płyt i całych systemów. Arm uznał, że CVE-2026-97631 nie odnosi się bezpośrednio do jego portfolio. Lukę wykryli Alex Matrosov z Anthropic i Dan Holmes z Google.
Kogo dotyczy
Użytkowników domowych ani małych biur luka nie dotyczy, jeśli urządzenia startują wyłącznie z dysku. Ryzyko jest po stronie organizacji bootujących z lokalnej sieci lub z zasobów podłączonych do internetu.
Dostępny kod naprawczy ułatwi teraz analizę błędu i budowę exploitów.
