Pesquisadores da empresa Exodus Intelligence identificaram uma vulnerabilidade no processo de correção de falhas na base de código do Chrome/Chromium. O problema está relacionado ao fato de que o Google divulga informações de que as correções implementadas estão relacionadas a problemas de segurança somente após o lançamento, mas
adiciona ao repositório o código para corrigir a vulnerabilidade no motor V8 antes da publicação do lançamento. Por um tempo, as correções passam por testes e há uma janela durante a qual a vulnerabilidade é corrigida na base de código e disponível para análise, mas a vulnerabilidade permanece sem correção nos sistemas dos usuários.
Ao analisar as alterações feitas no repositório, os pesquisadores notaram a adição feita em 19 de fevereiro e, em três dias, conseguiram preparar , um exploit que ataca as versões atuais do Chrome (o exploit publicado não incluía componentes para contornar a proteção de sandbox). A empresa Google rapidamente lançou a atualização do Chrome 80.0.3987.122, corrigindo a vulnerabilidade relacionada ao exploit proposto (CVE-2020-6418). A vulnerabilidade foi inicialmente detectada pelos engenheiros do Google e foi causada por um problema no manuseio de tipos na operação JSCreate, que pode ser explorado através do método Array.pop ou Array.prototype.pop. É notável que um problema semelhante foi encontrado no Firefox no verão passado.
Os pesquisadores também notaram a simplificação na criação de exploits devido à inclusão no mecanismo (em vez de armazenar o valor completo de 64 bits, apenas os bits inferiores únicos do ponteiro são armazenados, o que permite uma significativa redução no consumo de memória na heap). Por exemplo, algumas estruturas de dados localizadas no início da heap, como a tabela de funções embutidas, objetos 'contexto nativo' e do coletor de lixo agora estão alocadas em endereços empacotados previsíveis e acessíveis para gravação.
Curiosamente, quase um ano atrás, a Exodus Intelligence uma demonstração semelhante da possibilidade de criar um exploit com base no estudo do log público de correções no V8, mas, aparentemente, não houve as devidas consequências. No lugar dos pesquisadores,
poderiam estar criminosos ou agências de segurança, que ao criar um exploit teriam a oportunidade de explorar a vulnerabilidade ocultamente por dias ou até semanas antes da formação de um novo lançamento do Chrome.
Fonte: opennet.ru
