Weaknesses of type CWE-456

8 results

Variável não inicializada

Quando uma variável é declarada mas não recebe valor inicial antes de ser usada, o programa lê lixo de memória (valores residuais). Dependendo do contexto, isso pode expor dados sensíveis, causar comportamento imprevisível ou permitir que um atacante manipule a execução.

Example

Um servidor C recebe uma requisição e cria um buffer local sem zeramento: `char token[32]; memcpy(token, user_input, 32);` — se user_input for menor que 32 bytes, token carrega bytes antigos da stack, possivelmente credenciais ou endereços de código anterior.

How to mitigate

Inicialize sempre: use `= {0}` em C, atribua valores null/zero em linguagens interpretadas, ative warnings do compilador (`-Wall -Wextra`), e use ferramentas como AddressSanitizer ou Valgrind para detectar usos não inicializados em testes.