Fallos del tipo CWE-1290
1 resultadoDecodificação incorreta de identificadores de segurança
O componente lê de forma errada um identificador usado para decidir permissões, como um ID de mestre de barramento, uma tag de domínio ou um bit de privilégio. Como a decisão de acesso depende desse valor decodificado, a interpretação equivocada pode liberar operações que deveriam ser negadas. O risco é maior em hardware e firmware, onde a lógica de decodificação costuma ser difícil de verificar e de corrigir depois da fabricação.
Em um SoC, uma ponte de barramento decodifica o campo de identificação de segurança de cada transação e interpreta mal um dos valores, tratando uma requisição de um mestre não confiável como se viesse de um mestre seguro. Assim, o software em modo normal consegue ler ou escrever em regiões protegidas, como chaves ou áreas de configuração do TrustZone.
Implementar a decodificação conforme a especificação, com negação por padrão para qualquer valor não reconhecido, e verificar a lógica com testes de valores de fronteira, fuzzing de barramento e, quando possível, verificação formal. Em firmware e drivers, validar os identificadores recebidos antes de usá-los em decisões de acesso.