Falhas do tipo CWE-1057

1 resultado

Acesso a dados fora do componente gerenciador esperado

A fraqueza ocorre quando código acessa ou modifica dados diretamente, contornando o componente designado para gerenciar esse acesso (como uma camada de persistência, DAO ou service). Isso quebra o encapsulamento, facilita inconsistências de dados e aumenta a superfície de ataque, já que lógica de validação e controle de acesso fica comprometida.

Exemplo

Uma aplicação define um serviço `UsuarioService` para todos os acessos à tabela de usuários, mas alguns módulos fazem queries diretas ao banco via SQL raw ou acessam a entidade através de múltiplas portas. Quando as regras de negócio mudam, nem todos os caminhos de acesso são atualizados, deixando dados inconsistentes.

Como mitigar

Centralize todo acesso a dados através de um único ponto (Repository, DAO, Data Gateway). Implemente controle de acesso e validação apenas nessa camada, bloqueie acesso direto ao banco/arquivo em tempo de compilação e teste (análise estática) e documente claramente qual componente é responsável por cada entidade.