Weaknesses of type CWE-767

4 results

Acesso 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.

Example

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.

How to mitigate

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).