Voltar para o Labs
Fraqueza (CWE)

CWE-121

Buffer Overflow Baseado em Pilha (Stack)

Sobre

Uma condição de buffer overflow baseado em pilha (stack) é uma condição em que o buffer sendo sobrescrito é alocado na pilha (isto é, é uma variável local ou, raramente, um parâmetro de uma função).

Consequências comuns

  • Disponibilidade → Modificar Memória, DoS: Falha, Encerramento ou Reinicialização, DoS: Consumo de Recursos (CPU), DoS: Consumo de Recursos (Memória)
  • Integridade, Confidencialidade, Disponibilidade, Controle de Acesso → Modificar Memória, Executar Código ou Comandos Não Autorizados, Contornar Mecanismo de Proteção
  • Integridade, Confidencialidade, Disponibilidade, Controle de Acesso, Outro → Modificar Memória, Executar Código ou Comandos Não Autorizados, Contornar Mecanismo de Proteção, Outro

Mitigações

  • Operação, Construção e Compilação: Use mecanismos automáticos de detecção de buffer overflow oferecidos por certos compiladores ou extensões de compilador. Exemplos incluem: a flag /GS do Microsoft Visual Studio, a flag FORTIFY_SOURCE do GCC no Fedora/Red Hat, o StackGuard e o ProPolice, que fornecem diversos mecanismos, incluindo detecção baseada em canary e verificação de faixa/índice. O D3-SFCV
  • Arquitetura e Design: Use uma biblioteca de abstração para abstrair APIs arriscadas. Não é uma solução completa.
  • Implementação: Implemente e realize a verificação de limites (bounds checking) na entrada.
  • Implementação: Não use funções perigosas como gets. Use funções equivalentes mais seguras que verifiquem erros de limite.
  • Operação, Construção e Compilação: Execute ou compile o software usando recursos ou extensões que organizem aleatoriamente as posições do executável e das bibliotecas de um programa na memória. Como isso torna os endereços imprevisíveis, pode impedir que um atacante salte de forma confiável para código explorável. Exemplos incluem Address Space Layout Randomization (ASLR) [REF-58] [REF-60] e Posit

CVEs com esta fraqueza

Perguntas frequentes

O que é CWE-121?

Uma condição de buffer overflow baseado em pilha (stack) é uma condição em que o buffer sendo sobrescrito é alocado na pilha (isto é, é uma variável local ou, raramente, um parâmetro de uma função).

Qual a probabilidade de CWE-121 ser explorada?

A MITRE classifica a probabilidade de exploração de CWE-121 como high.

Quais plataformas CWE-121 afeta?

CWE-121 já foi observada em: Memory-Unsafe, C, C++, Not Technology-Specific.

Quantas CVEs a Rainforest acompanha para CWE-121?

O Rainforest Labs acompanha atualmente 5 CVEs publicadas associadas a CWE-121. Elas estão listadas nesta página.

Potencialize sua estratégia de segurança com a Rainforest

Descubra vulnerabilidades cedo, priorize ameaças críticas e proteja o que realmente importa. A Rainforest simplifica suas operações de segurança, economizando tempo e reduzindo custos, para você focar no que move o seu negócio.