Vulnerabilidade no firmware do controlador BMC que afecta a servidores de moitos fabricantes

Compañía Eclypsium revelado dúas vulnerabilidades no firmware do controlador BMC fornecido nos servidores Lenovo ThinkServer, que permiten a un usuario local cambiar o firmware ou executar código arbitrario no lado do chip BMC.

Unha análise posterior mostrou que estes problemas tamén afectan ao firmware dos controladores BMC utilizados nas plataformas de servidores Gigabyte Enterprise Servers, que tamén se utilizan en servidores de empresas como Acer, AMAX, Bigtera, Ciara, Penguin Computing e sysGen. Os controladores BMC problemáticos utilizaron firmware MergePoint EMS vulnerable desenvolvido polo provedor de terceiros Avocent (agora unha división de Vertiv).

A primeira vulnerabilidade prodúcese pola falta de verificación criptográfica das actualizacións de firmware descargadas (só se utiliza a verificación de suma de verificación CRC32, ao contrario recomendacións NIST usa sinaturas dixitais), o que permite que un atacante con acceso local ao sistema falsee o firmware BMC. O problema, por exemplo, pódese usar para integrar profundamente un rootkit que permanece activo despois de reinstalar o sistema operativo e bloquea máis actualizacións de firmware (para eliminar o rootkit, terás que usar un programador para reescribir o flash SPI).

A segunda vulnerabilidade está presente no código de actualización do firmware e permítelle substituír os seus propios comandos, que se executarán no BMC co maior nivel de privilexios. Para atacar, abonda con cambiar o valor do parámetro RemoteFirmwareImageFilePath no ficheiro de configuración bmcfwu.cfg, a través do cal se determina o camiño á imaxe do firmware actualizado. Durante a próxima actualización, que se pode iniciar mediante un comando en IPMI, o BMC procesará este parámetro e utilizarase como parte da chamada popen() como parte da liña para /bin/sh. Dado que a liña para xerar o comando shell é creada mediante a chamada snprintf() sen a limpeza adecuada de caracteres especiais, os atacantes poden substituír o seu código para a execución. Para explotar a vulnerabilidade, debes ter dereitos que che permitan enviar un comando ao controlador BMC a través de IPMI (se tes dereitos de administrador no servidor, podes enviar un comando IPMI sen autenticación adicional).

Gigabyte e Lenovo foron notificados dos problemas en xullo de 2018 e conseguiron publicar actualizacións antes de que a información fose publicada. empresa Lenovo liberado actualizacións de firmware o 15 de novembro de 2018 para os servidores ThinkServer RD340, TD340, RD440, RD540 e RD640, pero só eliminou neles unha vulnerabilidade que permite a substitución de comandos, xa que durante a creación dunha liña de servidores baseada en MergePoint EMS en 2014, o firmware a verificación realizouse mediante unha sinatura dixital aínda non estaba moi estendida e non se anunciou inicialmente.

O 8 de maio deste ano, Gigabyte lanzou actualizacións de firmware para placas base co controlador ASPEED AST2500, pero como Lenovo, só solucionou a vulnerabilidade de substitución de comandos. As placas vulnerables baseadas en ASPEED AST2400 permanecen sen actualizacións polo momento. Gigabyte tamén dito sobre a transición ao uso do firmware MegaRAC SP-X de AMI. A inclusión do novo firmware baseado en MegaRAC SP-X ofrecerase para os sistemas que se enviaron previamente co firmware MergePoint EMS. A decisión segue o anuncio de Vertiv de que deixará de soportar a plataforma MergePoint EMS. Ao mesmo tempo, aínda non se informou de actualizacións de firmware en servidores fabricados por Acer, AMAX, Bigtera, Ciara, Penguin Computing e sysGen baseados en placas Gigabyte e equipados con firmware MergePoint EMS vulnerable.

Lembremos que BMC é un controlador especializado instalado en servidores, que ten a súa propia CPU, memoria, almacenamento e interfaces de sondaxe de sensores, que proporciona unha interface de baixo nivel para supervisar e xestionar equipos de servidor. Usando BMC, independentemente do sistema operativo que se execute no servidor, pode supervisar o estado dos sensores, xestionar a enerxía, o firmware e os discos, organizar o arranque remoto na rede, garantir o funcionamento dunha consola de acceso remoto, etc.

Fonte: opennet.ru

Engadir un comentario