Falhas do tipo CWE-1102

1 resultado

Dependência de representação de dados específica da máquina

O código assume que a representação binária de dados (como endianness, tamanho de tipos, alinhamento de memória) será sempre a mesma entre diferentes plataformas ou arquiteturas. Quando esse código roda em hardware ou SO diferente, os dados são interpretados incorretamente, causando corrupção de estado, execução incorreta ou bypass de validações de segurança.

Exemplo

Um firmware que lê um campo de 4 bytes assumindo little-endian roda em máquina big-endian, invertendo a ordem dos bytes. Uma verificação de integridade que validava um 'magic number' falha silenciosamente, permitindo carregamento de código malformado.

Como mitigar

Use serialização explícita (ex: htonl/ntohl, protobuf, msgpack) que normaliza a representação independente da plataforma. Sempre especifique endianness, tamanho de tipos e alinhamento de memória em estruturas críticas; evite conversões brutas entre tipos via casting e ponteiros.