En el marc InsydeH2O, utilitzat per molts fabricants per crear firmware UEFI per als seus equips (la implementació més habitual de UEFI BIOS), s'han identificat 23 vulnerabilitats que permeten executar codi a nivell SMM (System Management Mode), que té un prioritat més alta (anell -2) que el mode d'hipervisor i un anell zero de protecció, i amb accés il·limitat a tota la memòria. El problema afecta el firmware UEFI utilitzat per fabricants com Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel i Bull Atos.
L'explotació de vulnerabilitats requereix accés local amb drets d'administrador, cosa que fa que els problemes siguin populars com a vulnerabilitats de segon nivell, utilitzades després de l'explotació d'altres vulnerabilitats del sistema o l'ús de mètodes d'enginyeria social. L'accés a nivell SMM permet executar codi a un nivell no controlat pel sistema operatiu, que es pot utilitzar per modificar el firmware i deixar amagat codi maliciós o rootkits a l'SPI Flash que no són detectats pel sistema operatiu, així com per desactivar la verificació en l'etapa d'arrencada (UEFI Secure Boot , Intel BootGuard) i atacs a hipervisors per evitar mecanismes per comprovar la integritat dels entorns virtuals.
L'explotació de vulnerabilitats es pot dur a terme des del sistema operatiu mitjançant controladors SMI (System Management Interrupt) no verificats, així com en l'etapa prèvia a l'execució del sistema operatiu durant les etapes inicials d'arrencada o de tornada del mode de suspensió. Totes les vulnerabilitats són causades per problemes de memòria i es divideixen en tres categories:
- SMM Callout: execució del vostre codi amb drets SMM mitjançant la redirecció de l'execució dels controladors d'interrupcions SWSMI al codi fora de SMRAM;
- Corrupció de memòria que permet a un atacant escriure les seves dades a SMRAM, una àrea de memòria aïllada especial en la qual s'executa el codi amb drets SMM.
- Corrupció de memòria en codi que s'executa a nivell DXE (Driver eXecution Environment).
Per demostrar els principis d'organització d'un atac, s'ha publicat un exemple d'explotació que permet, mitjançant un atac des del tercer o zero anell de protecció, accedir a la UEFI d'execució DXE i executar el vostre codi. L'explotació manipula un desbordament de pila (CVE-2021-42059) al controlador UEFI DXE. Durant l'atac, l'atacant pot col·locar el seu codi al controlador DXE, que roman actiu després de reiniciar el sistema operatiu, o fer canvis a l'àrea NVRAM de l'SPI Flash. Durant l'execució, el codi de l'atacant pot fer canvis a les àrees de memòria privilegiades, modificar els serveis EFI Runtime i afectar el procés d'arrencada.
Font: opennet.ru