Voltar para o Labs
Fraqueza (CWE)

CWE-190

Estouro ou Wraparound de Inteiro

Sobre

O produto realiza um cálculo que pode produzir um estouro (overflow) ou wraparound de inteiro quando a lógica assume que o valor resultante será sempre maior que o valor original. Isso ocorre quando um valor inteiro é incrementado para um valor grande demais para ser armazenado na representação associada. Quando isso ocorre, o valor pode se tornar um número muito pequeno ou negativo.

Consequências comuns

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

Mitigações

  • Requisitos: Garanta que todos os protocolos sejam estritamente definidos, de modo que todo comportamento fora dos limites possa ser identificado de forma simples, e exija conformidade estrita com o protocolo.
  • Requisitos: Use uma linguagem que não permita a ocorrência dessa fraqueza ou que forneça construções que facilitem evitá-la. Se possível, escolha uma linguagem ou compilador que realize verificação automática de limites.
  • Arquitetura e Design: Use uma biblioteca ou framework comprovado que não permita a ocorrência dessa fraqueza ou que forneça construções que facilitem evitá-la [REF-1482]. Use bibliotecas ou frameworks que facilitem lidar com números sem consequências inesperadas. Exemplos incluem pacotes de tratamento seguro de inteiros, como SafeInt (C++) ou IntegerLib (C ou C++). [REF-106]
  • Implementação: Realize a validação de entrada em qualquer entrada numérica, garantindo que ela esteja dentro da faixa esperada. Imponha que a entrada atenda aos requisitos mínimo e máximo da faixa esperada. Use inteiros sem sinal (unsigned) sempre que possível. Isso facilita realizar a validação para estouros de inteiro. Quando inteiros com sinal (signed) forem necessários, garanta que a verificaç
  • Implementação: Compreenda a representação subjacente da linguagem de programação e como ela interage com o cálculo numérico (CWE-681). Preste muita atenção a discrepâncias de tamanho de byte, precisão, distinções entre com sinal/sem sinal, truncamento, conversão e cast entre tipos, cálculos "not-a-number" e como a linguagem trata números grandes demais ou pequenos demais para sua representação sub
  • Arquitetura e Design: Para quaisquer verificações de segurança realizadas no lado do cliente, garanta que essas verificações sejam duplicadas no lado do servidor, a fim de evitar o CWE-602. Os atacantes podem contornar as verificações do lado do cliente modificando os valores após as verificações terem sido realizadas, ou alterando o cliente para remover completamente as verificações do lado do cl

CVEs com esta fraqueza

Perguntas frequentes

O que é CWE-190?

O produto realiza um cálculo que pode produzir um estouro (overflow) ou wraparound de inteiro quando a lógica assume que o valor resultante será sempre maior que o valor original. Isso ocorre quando um valor inteiro é incrementado para um valor grande demais para ser armazenado na representação associada. Quando isso ocorre, o valor pode se tornar um número muito pequeno ou negativo.

Qual a probabilidade de CWE-190 ser explorada?

A MITRE classifica a probabilidade de exploração de CWE-190 como medium.

Quais plataformas CWE-190 afeta?

CWE-190 já foi observada em: C, Not Technology-Specific.

Quantas CVEs a Rainforest acompanha para CWE-190?

O Rainforest Labs acompanha atualmente 3 CVEs publicadas associadas a CWE-190. 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.