I manutentori di Shim hanno rilasciato la versione 15.8 per risolvere sei problemi di sicurezza, e tra questi risulta un bug critico che potrebbe aprire la strada all’esecuzione remota di codice in circostanze specifiche.
Con il termine “Shim” ci si riferisce a un pacchetto software progettato per funzionare come bootloader di primo stadio sui sistemi Unified Extensible Firmware Interface (UEFI), in pratica ciò che permette l’installazione su sistemi desktop.
Cosa comporta questa vulnerabilità di Shim
Identificata come CVE-2023-40547 (punteggio CVSS: 9.8), la vulnerabilità potrebbe essere sfruttata per ottenere per riuscire ad aggirare il Secure Boot; Bill Demirkapi del Microsoft Security Response Center (MSRC) è stato accreditato per aver scoperto e segnalato il bug (sì, hai capito bene, oggigiorno anche il personale Microsoft aiuta lo sviluppo di Linux).
“Supporto http boot di shim (httpboot.c) affida valori controllati dall’attaccante durante l’analisi di una risposta HTTP, portando a una primitiva di scrittura completamente controllata fuori dai limiti” ha reso noto Alan Coopersmith di Oracle in un messaggio condiviso sulla mailing list di sicurezza open source oss-security.
Demirkapi, in un post condiviso sul social X (precedentemente noto come Twitter) alla fine del mese scorso, ha detto che la vulnerabilità “esiste in ogni bootloader Linux firmato nell’ultima decade.”
Shim si riferisce, come accennato ad inizio articolo, ad un pacchetto software “triviale” progettato per funzionare come bootloader di prima fase su sistemi Unified Extensible Firmware Interface (UEFI).
La società di sicurezza del firmware Eclypsium ha dichiarato che CVE-2023-40547 “deriva dalla gestione del protocollo HTTP, portando a una scrittura fuori dai limiti che può portare al compromesso completo del sistema.”
In uno scenario di attacco ipotetico, un criminale informatico nella stessa rete potrebbe sfruttare la falla per caricare un bootloader shim vulnerabile, o da un avversario locale con privilegi sufficienti per manipolare i dati sulla partizione EFI.
“Un attaccante potrebbe eseguire un attacco MiTM (Man-in-the-Middle) e intercettare il traffico HTTP tra la vittima e il server HTTP utilizzato per fornire file per supportare l’avvio HTTP” ha aggiunto l’azienda. “L’attaccante potrebbe trovarsi su qualsiasi segmento di rete tra la vittima e il server legittimo.”
Detto questo, ottenere la capacità di eseguire codice durante il processo di avvio, che avviene prima che inizi il sistema operativo principale che concede all’attaccante accesso illimitato, per implementare bootkit furtivi che possono dare un controllo quasi totale sull’host compromesso.
Le altre cinque vulnerabilità risolte nella versione 15.8 di shim sono le seguenti:
- CVE-2023-40546 (punteggio CVSS: 5.3) – Lettura fuori dai limiti durante la stampa di messaggi di errore, risultando in una condizione di denial-of-service (DoS);
- CVE-2023-40548 (punteggio CVSS: 7.4) – Buffer overflow in shim quando compilato per processori a 32-bit che può portare a un arresto anomalo o problemi di integrità dei dati durante la fase di avvio;
- CVE-2023-40549 (punteggio CVSS: 5.5) – Lettura fuori dai limiti nella funzione authenticode che potrebbe consentire a un attaccante di innescare un DoS fornendo un binario malformato;
- CVE-2023-40550 (punteggio CVSS: 5.5) – Lettura fuori dai limiti durante la convalida delle informazioni Secure Boot Advanced Targeting (SBAT) che potrebbe comportare la divulgazione di informazioni;
- CVE-2023-40551 (punteggio CVSS: 7.1) – Lettura fuori dai limiti durante l’analisi di binari MZ, portando a un arresto anomalo o possibile esposizione di dati sensibili.
“Un attaccante che sfrutta questa vulnerabilità ottiene il controllo del sistema prima che il kernel venga caricato, il ché significa che ha accesso privilegiato e la capacità di eludere qualsiasi controllo implementato dal kernel e dal sistema operativo” ha detto Eclypsium.