Fallos del tipo CWE-453
19 resultadosInicialização insegura de variáveis padrão
Ocorre quando uma variável é declarada mas não inicializada explicitamente antes do uso, deixando seu valor indeterminado ou com lixo de memória. O programa assume um valor seguro (geralmente zero), mas em C/C++ e linguagens similares isso não é garantido, criando comportamento imprevisível e potencialmente explorável.
Um buffer local em C é declarado sem inicialização (char buf[256];), e o código copia dados para ele assumindo que começa vazio. Um atacante enche a pilha com dados conhecidos antes, e o programa processa o lixo antigo junto com o novo input, vazando informações sensíveis ou causando crash.
Sempre inicialize variáveis explicitamente no ponto de declaração (int x = 0; ou char *ptr = NULL;). Use compiladores com flags de aviso ativas (-Wall -Wextra no GCC) para detectar uso de variáveis não inicializadas, e considere linguagens com inicialização obrigatória (Rust, Go).