PixieFAIL: vulnerabilità nello stack di rete del firmware UEFI utilizzato per l'avvio PXE

Sono state identificate nove vulnerabilità nel firmware UEFI basato sulla piattaforma aperta TianoCore EDK2, comunemente utilizzata sui sistemi server, nome in codice collettivo PixieFAIL. Sono presenti vulnerabilità nello stack firmware di rete utilizzato per organizzare l'avvio di rete (PXE). Le vulnerabilità più pericolose consentono a un utente malintenzionato non autenticato di eseguire codice remoto a livello di firmware su sistemi che consentono l'avvio PXE su una rete IPv9.

Problemi meno gravi comportano la negazione del servizio (blocco dell'avvio), la perdita di informazioni, l'avvelenamento della cache DNS e il dirottamento della sessione TCP. La maggior parte delle vulnerabilità possono essere sfruttate dalla rete locale, ma alcune vulnerabilità possono essere attaccate anche da una rete esterna. Uno scenario tipico di attacco si riduce al monitoraggio del traffico su una rete locale e all'invio di pacchetti appositamente progettati quando viene rilevata un'attività relativa all'avvio del sistema tramite PXE. Non è richiesto l'accesso al server di download o al server DHCP. Per dimostrare la tecnica di attacco sono stati pubblicati prototipi di exploit.

Il firmware UEFI basato sulla piattaforma TianoCore EDK2 è utilizzato in molte grandi aziende, fornitori di servizi cloud, data center e cluster informatici. In particolare, il modulo vulnerabile NetworkPkg con implementazione di avvio PXE è utilizzato nel firmware sviluppato da ARM, Insyde Software (Insyde H20 UEFI BIOS), American Megatrends (AMI Aptio OpenEdition), Phoenix Technologies (SecureCore), Intel, Dell e Microsoft (Project Mu ). Si ritiene che le vulnerabilità riguardino anche la piattaforma ChromeOS, che ha un pacchetto EDK2 nel repository, ma Google ha affermato che questo pacchetto non è utilizzato nel firmware per i Chromebook e che la piattaforma ChromeOS non è interessata dal problema.

Vulnerabilità identificate:

  • CVE-2023-45230 - Un buffer overflow nel codice client DHCPv6, sfruttato passando un ID server troppo lungo (opzione ID server).
  • CVE-2023-45234 - Si verifica un overflow del buffer durante l'elaborazione di un'opzione con i parametri del server DNS passati in un messaggio che annuncia la presenza di un server DHCPv6.
  • CVE-2023-45235 - Overflow del buffer durante l'elaborazione dell'opzione ID server nei messaggi di annuncio proxy DHCPv6.
  • CVE-2023-45229 è un underflow di numeri interi che si verifica durante l'elaborazione delle opzioni IA_NA/IA_TA nei messaggi DHCPv6 che pubblicizzano un server DHCP.
  • CVE-2023-45231 Si verifica una perdita di dati del buffer esaurito durante l'elaborazione dei messaggi di reindirizzamento ND (Neighbor Discovery) con valori di opzione troncati.
  • CVE-2023-45232 Si verifica un ciclo infinito durante l'analisi delle opzioni sconosciute nell'intestazione Opzioni di destinazione.
  • CVE-2023-45233 Si verifica un ciclo infinito durante l'analisi dell'opzione PadN nell'intestazione del pacchetto.
  • CVE-2023-45236 - Utilizzo di seed di sequenze TCP prevedibili per consentire l'incuneamento della connessione TCP.
  • CVE-2023-45237 – Utilizzo di un generatore di numeri pseudocasuali inaffidabile che produce valori prevedibili.

Le vulnerabilità sono state sottoposte 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 tra più fornitori, la data di rilascio è stata inizialmente posticipata al 1 dicembre, poi al 12 dicembre e al 19 dicembre 2023, ma alla fine è stata rivelata il 16 gennaio 2024. Allo stesso tempo, Microsoft ha chiesto di rinviare la pubblicazione delle informazioni fino a maggio.

Fonte: opennet.ru

Aggiungi un commento