Weaknesses of type CWE-463

3 results

Exclusão de sentinela de estrutura de dados

Ocorre quando código remove ou sobrescreve um valor sentinela — um marcador especial usado para delimitar ou controlar o fluxo de uma estrutura de dados — causando comportamento indefinido ou lógica quebrada. O programa deixa de reconhecer limites, condições de parada ou estados críticos, levando a loops infinitos, corrupção de dados ou execução inesperada de código.

Example

Um buffer usa o valor zero como sentinela para marcar o fim de uma string. Um atacante consegue sobrescrever esse zero através de um overflow, fazendo a string parecer não ter fim. Funções que leem a string varrendo até encontrar o zero agora extravasam memória, causando leitura de dados sensíveis ou crash.

How to mitigate

Valide e proteja sentinelas: use validação de entrada rigorosa, evite que usuários sobrescrevam essas posições críticas, e considere usar estruturas que armazenem tamanho explicitamente em vez de depender de marcadores. Implemente verificações de limites no acesso a estruturas de dados.