Nelle versioni UEFI basate sulla piattaforma open source TianoCore EDK2, comunemente utilizzate nei sistemi server, sono state identificate 9 vulnerabilità conosciute con il nome collettivo di PixieFAIL. Le vulnerabilità sono presenti nello stack di rete del firmware utilizzato per la gestione dell'avvio di rete (PXE). Le vulnerabilità più pericolose consentono a un attaccante non autenticato di eseguire codice remoto a livello di firmware nei sistemi che supportano l'avvio PXE tramite rete IPv6.
Problemi meno gravi portano a interruzioni del servizio (blocco dell'avvio), perdite di informazioni, avvelenamento della cache DNS e intercettazione di sessioni TCP. La maggior parte delle vulnerabilità può essere sfruttata dalla rete locale, ma alcune consentono anche attacchi dalla rete esterna. Uno scenario tipico di attacco consiste nel monitorare il traffico nella rete locale e nel inviare pacchetti appositamente formattati quando viene rilevata attività legata all'avvio del sistema via PXE. L'accesso a server un server di avvio o DHCP non è necessario. Sono stati pubblicati prototipi di exploit per dimostrare la tecnica di attacco.
I firmware UEFI basati sulla piattaforma TianoCore EDK2 sono utilizzati da molte grandi aziende, fornitori di cloud, data center e cluster di calcolo. In particolare, il modulo vulnerabile NetworkPkg con implementazione del boot PXE è utilizzato nei firmware sviluppati da aziende come ARM, Insyde Software (Insyde H20 UEFI BIOS), American Megatrends (AMI Aptio OpenEdition), Phoenix Technologies (SecureCore), Intel, Dell e Microsoft (Project Mu). Si presume che le vulnerabilità interessino anche la piattaforma ChromeOS, nel cui repository è presente un pacchetto EDK2, ma Google ha dichiarato che questo pacchetto non è utilizzato nei firmware per i dispositivi Chromebook e che la piattaforma ChromeOS non è soggetta al problema.
Vulnerabilità identificate:
- CVE-2023-45230 — overflow del buffer nel codice del client DHCPv6, sfruttato tramite l'invio di un identificatore troppo lungo server (opzione Server ID).
- CVE-2023-45234 — overflow del buffer nella gestione dell'opzione con parametri del server DNS, trasmessi nel messaggio che annuncia la presenza del server DHCPv6.
- CVE-2023-45235 — overflow del buffer nella gestione dell'opzione con l'identificatore del server (Server ID) nei messaggi di annuncio del proxy server per DHCPv6.
- CVE-2023-45229 — overflow di interi per via del limite inferiore (underflow), manifestato durante l'elaborazione delle opzioni IA_NA/IA_TA nei messaggi DHCPv6 che annunciano il server DHCP.
- CVE-2023-45231 — fuoriuscita di dati dall'area oltre il buffer durante l'elaborazione dei messaggi ND Redirect (Neighbor Discovery) con valori delle opzioni troncati.
- CVE-2023-45232 — ciclo infinito durante l'analisi di opzioni sconosciute nell'intestazione con parametri di destinazione (Destination Options).
- CVE-2023-45233 — ciclo infinito durante l'analisi dell'opzione PadN nell'intestazione del pacchetto.
- CVE-2023-45236 — utilizzo di numeri di sequenza TCP iniziali prevedibili, che consentono di inserirsi in una connessione TCP.
- CVE-2023-45237 — utilizzo di un generatore di numeri casuali non affidabile, che restituisce valori prevedibili.
Le informazioni sulle vulnerabilità sono state inviate al CERT/CC il 3 agosto 2023, e la data di divulgazione era prevista per il 2 novembre. Tuttavia, a causa della necessità di un rilascio coordinato delle patch da parte di diversi fornitori, la data di pubblicazione è stata inizialmente spostata al 1° dicembre, poi ulteriormente rinviata al 12 dicembre e al 19 dicembre 2023, ma infine è stata rivelata il 16 gennaio 2024. In tal senso, Microsoft ha richiesto di posticipare la divulgazione delle informazioni fino a maggio.
Fonte: opennet.ru
