Falhas do tipo CWE-412

6 resultados

Travamento externamente acessível sem restrição

Uma aplicação expõe um mecanismo de travamento (lock) de forma que qualquer código externo pode adquiri-lo sem autenticação ou autorização, bloqueando recursos críticos. Um atacante ou código malicioso pode manter o travamento indefinidamente, causando negação de serviço ao impedir que processos legítimos acessem dados ou funcionalidades protegidas.

Exemplo

Um serviço web expõe um endpoint que permite chamar lock() em um recurso compartilhado sem validar permissões. Um atacante faz requisições contínuas mantendo o lock ativo, impossibilitando que outros usuários ou processos usem aquele recurso até que o timeout (se houver) expire ou a instância reinicie.

Como mitigar

Implemente controles de acesso rigorosos antes de permitir operações de travamento: autentique o chamador, valide suas permissões, e limite o tempo máximo que um lock pode ser mantido. Prefira primitivas de sincronização seguras (semáforos com timeout, mutex com verificação de contexto) em vez de expor locks diretamente para código externo.