Weaknesses of type CWE-672

64 results

Operação em recurso após expiração ou liberação

Ocorre quando o código tenta usar um recurso (conexão de banco, arquivo, memória, token de autenticação) depois que ele foi expirado, fechado ou liberado. O programa não valida se o recurso está ainda válido antes de operar sobre ele, causando comportamento indefinido, vazamento de dados ou corrupção de estado.

Example

Uma aplicação obtém um token JWT com tempo de expiração, armazena em cache, mas continua usando o mesmo token horas depois sem verificar se expirou. Um atacante consegue reutilizar o token para acessar a API como outro usuário, ou uma conexão de banco é fechada mas o código tenta executar uma query nela, gerando erro ou acesso indevido.

How to mitigate

Sempre valide a vigência/estado do recurso antes de usá-lo (verificar timestamp de expiração, testar se conexão está ativa, checar se handle ainda é válido). Implemente mecanismo de renovação automática ou rejeição explícita de recursos expirados no ponto de uso.