Vulnerabilidade de vazamento de valor Sentinel do motor V8: Análise de um novo método de escape da sandbox do Chrome

Discutindo os riscos de segurança do Sentinel Value no motor Chrome V8

O valor sentinel é um valor especial em algoritmos, geralmente utilizado como condição de término em algoritmos de loop ou recursão. No código-fonte do Chrome, existem muitos valores sentinel. Estudos recentes indicam que a divulgação de objetos sentinel específicos pode levar à execução de código arbitrário dentro do sandbox do Chrome.

Este artigo discutirá um novo objeto de valor Sentinel: Uninitialized Oddball. Este método de contorno apareceu pela primeira vez em um relatório de vulnerabilidade, fornecido por um pesquisador de segurança com o código completo. Vale a pena notar que, atualmente, esse método ainda pode ser usado na versão mais recente do V8, e ainda não foi corrigido.

Este método tem uma forte versatilidade:

  1. Em uma vulnerabilidade CVE, o poc inicial é a divulgação de um oddball interno não inicializado.

  2. Em outro relatório de vulnerabilidade CVE, os pesquisadores divulgaram diretamente o UninitializedOddball, embora a cadeia de exploração estivesse incompleta na época, mas já mostrava riscos de segurança.

  3. Um relatório recente sobre vulnerabilidades forneceu um método completo de exploração.

Esses casos ilustram a universalidade e a gravidade do problema. Até agora, um determinado software de comunicação ainda não corrigiu essa vulnerabilidade.

Aplicação do valor sentinel no V8

No código fonte do V8, uma grande quantidade de objetos nativos é definida e eles estão dispostos de forma adjacente na memória. Uma vez que objetos nativos que não deveriam ser expostos sejam revelados ao JavaScript, pode-se realizar a execução de qualquer código dentro do sandbox.

Para validar a eficácia deste método na última versão do V8, podemos modificar a função nativa do V8 para vazar Uninitialized Oddball para o JavaScript.

Revelação exclusiva sobre como contornar o Chrome v8 HardenProtect através da divulgação do Sentinel Value

Contornar a proteção HardenType

Podemos construir código que, quando uma função retorna UninitializedOddball, implementa leitura arbitrária. A análise do código de montagem otimizado revela que a função apenas verifica se os atributos do objeto estão corretos, mas não verifica os valores correspondentes dos atributos, calculando diretamente o deslocamento para obter elementos de array de acordo com a semântica do JavaScript, resultando em confusão de tipos e permitindo leitura arbitrária.

Revelação exclusiva sobre como contornar o HardenProtect do Chrome v8 através da divulgação do Valor Sentinel

Revelação exclusiva sobre como contornar o Chrome v8 HardenProtect usando o valor Sentinel

Revelação exclusiva sobre como contornar o HardenProtect do Chrome v8 através da divulgação do Sentinel Value

Exclusivo: Revelação sobre como contornar o Chrome v8 HardenProtect através da divulgação do Sentinel Value

Revelação exclusiva sobre como contornar o Chrome v8 HardenProtect através da divulgação do Sentinel Value

Revelação exclusiva sobre como contornar o HardenProtect do Chrome v8 através da divulgação do Sentinel Value

Da mesma forma, qualquer gravação pode ser construída de maneira semelhante. Recomenda-se, ao otimizar a função que retorna elementos de um array, adicionar uma verificação do array map, para evitar calcular diretamente o valor de retorno do deslocamento.

Aviso de riscos de segurança

A análise indica que um determinado software de comunicação ainda não corrigiu essa vulnerabilidade. No sistema x86, devido à falta de compressão de endereços, é possível a leitura e escrita arbitrárias diretamente em relação a todo o processo. Embora o ASLR esteja ativado, devido ao tamanho do arquivo, ainda há uma grande probabilidade de se ler e escrever conteúdo crítico. Combinando métodos como a análise de PE, é possível completar uma cadeia de exploração completa em um curto período de tempo.

Esta vulnerabilidade de segurança não apenas envolve uma única falha, mas também reduziu significativamente a dificuldade de exploração de algumas falhas semelhantes anteriores. Os hackers quase não precisam de pesquisa adicional para realizar a exploração completa, incluindo todas as falhas semelhantes relatadas anteriormente.

Revelação exclusiva sobre como contornar o HardenProtect do Chrome v8 através da exploração do Sentinel Value

Resumo

Este artigo discute brevemente o método para leitura arbitrária através da exploração de Uninitialized Oddball. O V8 contém muitos outros valores Sentinel, que podem apresentar riscos de segurança semelhantes. Isso nos dá algumas pistas:

  1. A divulgação de outros valores Sentinel pode também levar à fuga da sandbox V8?

  2. Devem estas questões ser formalmente consideradas como vulnerabilidades de segurança?

  3. É necessário incluir variáveis relacionadas ao valor Sentinel nos testes de fuzz para descobrir mais problemas potenciais?

De qualquer forma, este tipo de problema pode encurtar significativamente o período em que os hackers conseguem explorar completamente a vulnerabilidade, o que merece uma atenção especial.

Revelação exclusiva sobre como contornar o Chrome v8 HardenProtect através da divulgação do Sentinel Value

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 4
  • Partilhar
Comentar
0/400
ArbitrageBotvip
· 07-11 10:52
Como é que o Google conseguiu isso? Isto consegue ter uma falha?
Ver originalResponder0
SelfSovereignStevevip
· 07-10 20:07
Onde está a proteção do navegador?
Ver originalResponder0
StablecoinArbitrageurvip
· 07-10 19:58
hmm mais uma exploração com 99,8% de chance de ser corrigida antes de qualquer oportunidade de arb significativa...
Ver originalResponder0
DefiPlaybookvip
· 07-10 19:45
O navegador também teve Airdrop? É possível aproveitar esta oportunidade?
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)