Mesmos os sistemas operacionais mais seguros estão sujeitos a falhas graves. A diferença está na eficácia e rapidez para correção dos problemas. Foi o que ocorreu recentemente com o ChromeOS, considerado muito mais seguro que Windows e até mesmo o MacOS. No entanto, foi a concorrente Microsoft que descobriu recentemente um bug desagradável e explorável remotamente no servidor de áudio do ChromeOS com uma pontuação de gravidade de 9,8 em 10. Para alívio de todos, o Google corrige a falha grave no ChromeOS em tempo recorde.
O ChromeOS é o sistema operacional proprietário do Google baseado no ChromiumOS de código aberto, que é sustentado pelo Linux.
O pesquisador de segurança da Microsoft Jonathan Bar Or encontrou o bug no ChromiumOS Audio Server (CRAS), um serviço que roteia áudio para periféricos como alto-falantes USB e fones de ouvido Bluetooth. Também encontrou um problema de corrupção de memória local que pode ser acionado remotamente pela manipulação de metadados de áudio, no navegador ou via Bluetooth.
“Os invasores podem ter atraído os usuários para atender a essas condições, como simplesmente tocando uma nova música em um navegador ou de um dispositivo Bluetooth emparelhado, ou aproveitando recursos de adversário no meio (AiTM) para explorar a vulnerabilidade remotamente”, ele disse. explica em um blogpost.
Google corrige falha grave no ChromeOS
A Microsoft relatou o problema ao Google em abril. O Google atribuiu o bug CVE-2022-2587 e lançou um patch em meados de junho , mas já estava trabalhando em correções dentro de uma semana após o relatório. O Google descreveu isso como uma falha de alta gravidade devido a uma gravação fora dos limites no CRAS.
Ou vasculhou o ChromeOS em busca de problemas semelhantes aos bugs do D-Bus que ele encontrou ao analisar o Linux no início deste ano.
O ChromeOS, sendo baseado no Linux, também pode ser vulnerável a bugs semelhantes. Mas, ele observa, o ChromeOS normalmente exige que um invasor encadeie várias vulnerabilidades devido às medidas de proteção proprietárias do Google. Portanto, há menos falhas descobertas do que no Windows ou MacOS.
O bug do servidor de áudio era uma vulnerabilidade de corrupção de memória específica do ChromeOS, que Or encontrou após inspecionar a função de manipulação chamada SetPlayerIdentity, que chamou a função da biblioteca C de “strcpy“.
“Para o engenheiro de segurança experiente, a menção da função strcpy imediatamente levanta bandeiras vermelhas”, observa Or.
A função strcpy é conhecida por causar várias vulnerabilidades de corrupção de memória, pois não executa nenhuma verificação de limites e, portanto, é considerada insegura. Como não há verificações de limites no argumento de identidade fornecido pelo usuário antes de invocar strcpy (além das limitações de comprimento de mensagem padrão para mensagens D-Bus), estávamos confiantes de que poderíamos acionar um estouro de buffer baseado em heap, desencadeando uma vulnerabilidade de corrupção de memória.
Ataque perigoso
Os estouros de buffer baseados em heap podem levar à execução arbitrária de código, mas para tornar o ataque mais perigoso, ele precisava de uma maneira de acioná-lo remotamente, o que ele descobriu que poderia ser feito alterando os metadados de áudio. Isso pode ser feito pelo navegador quando há a reprodução de uma nova música via Bluetooth a partir de um outro dispositivo Bluetooth emparelhado. A função vulnerável real é cras_bt_player_update_identity.
Ou elogiou o Google por sua velocidade em corrigir o problema depois que ele foi relatado. Ele observa que, embora não seja fácil de explorar, seu impacto em um dispositivo ChromeOS – que pode incluir Macs e PCs antigos graças ao ChromeOS Flex do Google – garantiu tal resposta do Google.
“Ficamos impressionados com a velocidade da correção e a eficácia do processo geral. Em menos de uma semana, o código recebeu correções e, após várias mesclagens, disponibilizado para os usuários. Agradecemos à equipe do Google e à comunidade do Chromium por seus esforços para resolver o problema”, escreve o Or.