Weaknesses of type CWE-198
1 resultUso de ordem de bytes incorreta
A aplicação interpreta dados multibyte (inteiros, floats, estruturas) assumindo uma ordem de bytes (endianness) diferente da qual os dados foram realmente armazenados ou transmitidos. Isso causa corrupção de valores, lógica de comparação incorreta e potencialmente falhas de segurança quando verificações críticas dependem do valor correto.
Um servidor recebe um pacote de rede com um ID de usuário em big-endian, mas o código lê como little-endian. O valor 0x00000002 vira 0x02000000, causando acesso ao usuário errado ou bypass de validações baseadas no ID.
Documente explicitamente qual endianness é usado em cada interface (rede, arquivo, memória compartilhada). Use funções padrão de conversão (htonl, ntohl em C; struct.pack/unpack em Python; getInt16BE/LE em JavaScript) ao serializar e desserializar dados entre diferentes contextos. Teste com dados que mudem de contexto (rede, disco, IPC).