Falhas do tipo CWE-520

5 resultados

Configuração incorreta de representação de identidade no .NET

Quando uma aplicação .NET usa impersonação (suplantação de identidade) de forma inadequada ou sem os devidos controles, ela pode executar operações com privilégios além do necessário ou com a identidade errada. Isso acontece quando o código assume a identidade de outro usuário (geralmente com mais permissões) sem validar contexto, expiração ou escopo — criando risco de escalação de privilégio ou acesso não autorizado a recursos.

Exemplo

Uma aplicação web em ASP.NET impersona um usuário administrativo para acessar um banco de dados, mas deixa essa representação ativa durante toda a requisição — se um plugin ou código de terceiros for executado nesse contexto, ele também herdará os privilégios do admin, mesmo não devendo.

Como mitigar

Limite o tempo e escopo da impersonação: use blocos try-finally ou using() para garantir que a representação seja desfeita imediatamente após a operação necessária. Valide sempre qual identidade será impersonada e registre essas operações em logs de auditoria. Evite impersonar contas com privilégios desnecessários — use contas com menor privilégio possível.