No dia 25 de junho de 2025, um dos analistas mais experientes do Google, Clément Lecigne, membro do Threat Analysis Group (TAG), identificou e reportou uma vulnerabilidade crítica no navegador Google Chrome. Essa falha foi classificada como CVE‑2025‑6554, e dias depois já havia confirmação de que ela estava sendo ativamente explorada na internet, caracterizando um verdadeiro zero-day.

A falha se encontra no motor V8, responsável por interpretar e executar JavaScript e WebAssembly dentro do navegador. Trata-se de um erro de type confusion, uma falha de memória que ocorre quando o mecanismo de execução presume que um objeto é de um tipo diferente do que realmente é. Isso pode fazer com que o navegador acesse áreas de memória de forma incorreta um tipo de vulnerabilidade frequentemente usado para executar código arbitrário. No contexto do V8, o type confusion pode surgir, por exemplo, quando o navegador acredita que está lidando com um array de inteiros e, por falha de validação, permite que o atacante injete dados como se fossem ponteiros de função. Isso permite:
-
Leitura de posições da memória fora do array;
-
Escrita em áreas privilegiadas de memória;
-
Execução de código malicioso, escapando da sandbox do navegador.
Em outras palavras: se o usuário acessar uma página HTML maliciosa, o JavaScript da página pode explorar essa falha para assumir controle total da máquina da vítima, sem precisar de qualquer interação adicional um clique basta.
Cronologia da descoberta e resposta
| Data | Evento |
|---|---|
| 25/jun/2025 | Descoberta do bug por Clément Lecigne (TAG / Google) |
| 26/jun/2025 | Google realiza mitigação emergencial com uma alteração de configuração |
| 01/jul/2025 | Lançamento do patch oficial com a versão 138.0.7204.96 (Windows e Linux) e 138.0.7204.92 (macOS) |
Versões afetadas
Todos os usuários que estiverem com versões anteriores à 138.0.7204.96 estão em risco. As versões vulneráveis incluem sistemas:
-
Windows
-
macOS
-
Linux
-
E navegadores baseados no Chromium como Brave, Edge, Opera e Vivaldi
A versão corrigida é:
| 138.0.7204.96 ou superior |
Comparativo: CVE‑2025‑2783
No início de 2025, outro zero-day CVE‑2025‑2783 foi encontrado e explorado. Neste caso, a falha estava no mecanismo Mojo IPC, um subsistema de comunicação interno do Chromium. Essa vulnerabilidade permitia que atacantes escapassem da sandbox do navegador, especialmente no Windows, após processar arquivos HTML e PDF manipulados.
Diferença entre os dois:
| Característica | CVE‑2025‑2783 | CVE‑2025‑6554 |
|---|---|---|
| Tipo | Sandbox Escape via Mojo IPC | Type Confusion em V8 |
| Vetor | Arquivo HTML ou PDF malicioso | Página HTML com JS |
| Plataforma | Principalmente Windows | Todas (Win, macOS, Linux) |
| Interação necessária | Baixar ou abrir arquivo | Apenas visitar site |
| Complexidade | Alta | Média-alta |
| Gravidade (não oficial) | Alta | Crítica (zero-click em navegador) |
Por que é tão crítico?
-
Um ataque baseado nessa falha pode ser realizado sem nenhum download ou permissão;
-
Basta visitar um link para que o exploit seja ativado;
-
Pode ser combinado com outras falhas (como o CVE‑2025‑2783) para tomar o controle total da máquina;
-
Atacantes podem instalar spyware, abrir backdoors, registrar teclas ou espionar o usuário;
-
A falha pode ser usada em operações de espionagem de Estado, como China, Rússia ou grupos APT patrocinados.
Exemplo real de ataque
Imagine uma campanha de phishing que envia e-mails com links de "promoção" ou "convite para webinar". O usuário clica no link e, ao abrir a página:
-
O JavaScript malicioso executa o exploit CVE‑2025‑6554;
-
O código manipula a memória do V8, quebra a sandbox e injeta shellcode;
-
Um spyware é instalado em segundo plano;
-
O atacante ganha persistência no sistema via navegador, mesmo sem alertas visíveis.
Engenharia do Exploit: Como o CVE‑2025‑6554 pode ser explorado na prática
Tipo de vulnerabilidade: Type Confusion no motor V8
O V8 é a engine JavaScript do Google Chrome, usada também no Node.js. Ele foi projetado para compilar JS para código de máquina (JIT) e fazer otimizações agressivas para desempenho. Essa performance, no entanto, depende de inferências de tipo e é aí que mora o perigo.
Type confusion ocorre quando o compilador otimiza o código assumindo que um objeto será sempre de certo tipo (por exemplo, um array de inteiros), mas o atacante consegue forçar outro tipo de dado naquele lugar (por exemplo, um objeto com ponteiros para funções).
Exemplo didático:
| function exploit() { let arr = [1.1, 1.2, 1.3]; let fake_obj = {x: 0xdeadbeef}; arr[0] = fake_obj; // Forçando type confusion } |
Esse tipo de manipulação causa leitura/escrita fora dos limites da memória, e isso permite manipular a execução do processo.
Etapas de um exploit realista usando CVE-2025-6554
-
Stage 1 – Preparação (Trigger da falha)
O atacante injeta na página web um JavaScript altamente ofuscado que explora a falha de type confusion. -
Stage 2 – Escape da sandbox
Uma vez com acesso fora dos limites de memória do V8, o exploit pode sobrescrever ponteiros de função ou endereços de retorno e escapar da sandbox do navegador. -
Stage 3 – Injeção de shellcode
O payload injeta código na memória por exemplo, um stager que conecta à internet e baixa um backdoor. -
Stage 4 – Persistência e controle
O código pode se ancorar ao sistema com persistência (agendador de tarefas, chaves de registro etc.) e abrir um canal de C2 (comando e controle).
Ferramentas e técnicas utilizadas
| Técnica ou Ferramenta | Finalidade |
|---|---|
| JIT Spraying | Controlar layout de memória |
| ArrayBuffer + DataView | Manipular endereços na heap |
| WebAssembly (WASM) | Executar código nativo direto |
| ROP Chain | Criar cadeia de gadgets na memória |
| Socket WebRTC | Canal reverso para C2 |
| Packer + Obfuscation | Evitar detecção por antivírus |
Exemplo de cadeia de ataque prática
Cenário: um atacante está mirando uma empresa jornalística com jornalistas investigando corrupção política.
-
O atacante envia um link encurtado para um documento sobre "vazamentos de gabinete".
-
A jornalista acessa o link com Chrome desatualizado.
-
A página carrega um código JavaScript com CVE‑2025‑6554, que:
-
Injeta shellcode via V8
-
Cria conexão reversa usando WebSocket para o C2
-
Instala um spyware para capturar e-mails e mensagens
-
Esse tipo de ataque é típico de operações APT (ameaças persistentes avançadas) realizadas por grupos patrocinados por governos ou empresas de espionagem.
Tendência perigosa: ataques cada vez mais sofisticados
O CVE‑2025‑6554 é apenas um dos quatro zero-days no Chrome em 2025 até agora. Isso mostra que mesmo os navegadores mais mantidos estão constantemente sob ataque:
| CVE | Área Afetada | Status |
|---|---|---|
| CVE‑2025‑2783 | Mojo IPC | Corrigido |
| CVE‑2025‑4664 | WebAudio | Sem detalhes |
| CVE‑2025‑5419 | HTML Parser | Corrigido |
| CVE‑2025‑6554 | V8 JavaScript | Explorado |
Essa frequência revela que navegadores se tornaram vetores prioritários de ataque para espionagem digital.
Conclusão e impacto do CVE‑2025‑6554
O CVE-2025-6554 é mais do que apenas uma falha crítica de segurança. Ele representa o atual estágio da guerra cibernética moderna, onde navegadores web se tornaram portas de entrada para operações de espionagem, sabotagem e monitoramento em massa.
Enquanto essa vulnerabilidade atinge diretamente o Chrome, a real ameaça é sistêmica: todos os sistemas que dependem de navegadores baseados em Chromium (como Edge, Brave e Opera) herdaram o mesmo risco, ainda que em graus diferentes.
Reflexão: o que aprendemos com o CVE‑2025‑6554?
-
Zero-day é inevitável. Preparação é essencial.
Não basta confiar em atualizações é necessário ter estratégias de mitigação e monitoramento ativo. -
Ataques modernos são invisíveis.
Não envolvem cliques, downloads ou ações visíveis basta visitar um site comprometido. -
Softwares críticos devem ter hardening constante.
Navegadores precisam de reforços como sandboxing avançado, mitigação JIT, isolamento de processos, e alertas comportamentais.
Recomendação para equipes de TI e segurança
| Área | Ação recomendada |
|---|---|
| Navegadores | Atualizar para a versão 138.0.7204.96 ou superior |
| Proxy/firewall | Monitorar tráfego WebSocket e DOM-level anomalies |
| EDR e XDR | Implantar agentes com heurística de JIT exploitation |
| SOC | Criar alertas para scripts com comportamento de type confusion |
| Forense e Threat Intel | Buscar indicadores em dump de memória e logs do navegador |
| Pentest interno | Simular exploração local controlada com exploit PoC |
