Ory · Ory Oathkeeper · CVE-2021-32701
**Nome do software vulnerável e versões afetadas**
Versões do ORY Oathkeeper anteriores à v0.38.12-beta.1
**Descrição**
O problema ocorre quando é feita uma solicitação a um endpoint que exige um escopo específico e o token de acesso é concedido com esse escopo, tornando a introspecção válida e armazenando o token em cache. Se uma segunda solicitação for feita a um endpoint que exija um escopo diferente antes que o cache expire, a introspecção será válida independentemente de o token ter recebido o novo escopo. O cache valida apenas a data de validade do token, ignorando se o token possui os escopos adequados. Essa vulnerabilidade foi introduzida devido à cobertura insuficiente dos testes durante uma revisão de código.
**Recomendações**
Para resolver o problema, atualize para a versão v0.38.12-beta.1 ou posterior.
Como solução alternativa temporária, considere desativar o armazenamento em cache para o autenticador `oauth2 introspection`, pois essa vulnerabilidade não existe quando o armazenamento em cache está desativado.
Restrinja o acesso à função vulnerável `AuthenticatorOAuth2Introspection` até que um patch esteja disponível.
Evite usar a função `tokenFromCache()` até que o problema seja resolvido.
Desative o cache quando a estratégia de escopo for `none` e o `requested scope` não estiver vazio para impedir que o cache seja usado.