Weaknesses of type CWE-767
4 resultsAcesso a variável privada crítica via método público
Ocorre quando uma classe expõe um método público que permite ler ou modificar uma variável privada sensível, contornando a encapsulação. O desenvolvedor marca a variável como privada mas oferece um getter/setter público sem validação ou controle adequado, permitindo que código externo manipule estados críticos da aplicação.
Uma classe de usuário tem um atributo privado 'isAdmin' (booleano), mas expõe um setter público setIsAdmin() sem verificação. Um atacante chama esse método para elevar seus privilégios de usuário comum para administrador, comprometendo o controle de acesso da aplicação.
Implemente validação rigorosa em getters/setters públicos que acessam dados sensíveis; considere usar padrões como imutabilidade ou cópias defensivas; revise regularmente quais variáveis privadas realmente precisam de acesso público e combine com verificações de autorização (ex: verificar papel do usuário antes de permitir mudanças).