Skip to main content
Todos os Termos Glossary

Vulnerabilidades de Corrupção de Memória

Definition

As vulnerabilidades de corrupção de memória nos navegadores podem permitir que atacantes executem código arbitrário ou travem o navegador ao manipular o conteúdo da memória. Essas vulnerabilidades de baixo nível costumam afetar os motores de navegador e os plugins. Os navegadores modernos implementam diversas proteções, incluindo isolamento de processos e sandboxing, para mitigar esses riscos.

O que é corrupção de memória

Vulnerabilidades de corrupção de memória surgem quando um programa lê ou escreve fora dos limites da memória que legitimamente possui. Nos navegadores, o motor é escrito majoritariamente em C e C++, linguagens que não impõem segurança de memória, então bugs como estouros de buffer, use-after-free (uso de memória depois de liberada), confusão de tipos e estouros de inteiros são possíveis. Um atacante que controla os dados ao redor pode transformar esse tipo de bug em uma sobrescrita controlada de ponteiros ou metadados de objetos, e a partir daí em execução de código arbitrário ou em uma falha. Essas falhas normalmente residem no motor JavaScript, no código de layout e renderização, nos analisadores de imagens e fontes ou em plugins.

Por que a corrupção de memória importa

A corrupção de memória está entre as classes mais graves de vulnerabilidade de navegador porque um exploit bem-sucedido pode executar código nativo com os privilégios do navegador, fora dos limites pretendidos do sandbox de JavaScript. Encadeada com uma fuga de sandbox, ela pode levar ao comprometimento total do dispositivo a partir de nada mais que a visita a uma página, o mecanismo por trás de muitos downloads drive-by e ataques direcionados de dia zero. Esses bugs são valiosos, ativamente negociados e difíceis de eliminar porque decorrem da linguagem subjacente e não de um único erro de programação. Fontes, imagens e mídia, dados que chegam de sites não confiáveis, são gatilhos comuns, então a navegação comum já basta para alcançar o código vulnerável.

Como se defender da corrupção de memória

Como esses bugs residem dentro do motor do navegador, a principal defesa é manter os navegadores e seus componentes atualizados, já que os fornecedores lançam correções rapidamente assim que uma falha é conhecida. Os navegadores modernos adicionam mitigações em camadas: isolamento de processos e isolamento de sites contêm um renderizador comprometido, o sandboxing limita o que o código explorado pode alcançar, e endurecimentos como ASLR, stack canaries e integridade de fluxo de controle aumentam o custo da exploração. Os motores adotam cada vez mais linguagens com segurança de memória como Rust para analisadores de alto risco. Como operador web, essa classe está em grande parte fora do seu controle; os passos práticos são atualizações imediatas, minimizar plugins e defesa em profundidade para os seus usuários.

Definição

Os donos de sites podem corrigir bugs de corrupção de memória?

Não. Essas falhas residem no próprio motor do navegador, então apenas o fornecedor do navegador pode corrigi-las. Os donos de sites não conseguem remediar o bug, mas eles e seus usuários reduzem a exposição mantendo os navegadores atualizados, limitando plugins e contando com o sandbox e o isolamento de sites do navegador.

Definição

Como os atacantes encontram vulnerabilidades de corrupção de memória?

Em grande parte por meio de fuzzing, alimentando o navegador com entradas malformadas em grande escala para provocar falhas, além da revisão manual de analisadores complexos. Uma falha que corrompe a memória de uma forma influenciável pelo atacante é então estudada e desenvolvida em um exploit confiável, às vezes encadeada com uma fuga de sandbox para escapar do navegador.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Agende uma demonstração

Quer ver isso em detalhe com um engenheiro?

Trinta minutos, no seu próprio site. Sem slides.

Agende uma demo personalizada para ver:

Como alcançar a conformidade com os requisitos 6.4.3 e 11.6.1 do PCI DSS em 1 dia
Por que scripts de terceiros são um risco de segurança para você e seus visitantes
Como monitorar vazamentos de privacidade e consentimento (RGPD, CCPA) em cada terceiro
Como conter abuso de cadastros, compartilhamento de contas e fraude de chargeback com device intelligence
Como detectar e controlar agentes de IA e bots que acessam seu site em tempo real

Prefere só mandar uma pergunta?

Procurando horários livres…

Apenas humanos de verdade. A gente saberia.

Problemas para agendar? Abrir o agendador em uma nova aba

O que você está tentando resolver?

Conte em uma linha e voltamos com algo útil, não com um discurso genérico.

Costumamos ajudar com:

Ver quais scripts de terceiros rodam no seu site
Evidências para PCI DSS 6.4.3 e 11.6.1
Bots, agentes de IA e roubo de contas

Prefere agendar um horário? Escolher um horário