ORY Fosite is a security first OAuth2 & OpenID Connect framework for Go. In Fosite before version 0.34.1, the OAuth 2.0 Client's registered redirect URLs and the redirect URL provided at the OAuth2 Authorization Endpoint where compared using strings.ToLower while they should have been compared with a simple string match. This allows an attacker to register a client with allowed redirect URL https://example.com/callback. Then perform an OAuth2 flow and requesting redirect URL https://example.com/CALLBACK. Instead of an error (invalid redirect URL), the browser is redirected to https://example.com/CALLBACK with a potentially successful OAuth2 response, depending on the state of the overall OAuth2 flow (the user might still deny the request for example). This vulnerability has been patched in ORY Fosite v0.34.1.
ORY Fosite es el primer framework de seguridad OAuth2 y OpenID Connect para Go. En Fosite versiones anteriores a 0.34.1, las URL de redireccionamiento registradas del cliente OAuth versión 2.0 y la URL de redireccionamiento proporcionada en el OAuth2 Authorization Endpoint se compararon usando strings.ToLower, aunque deberían haberse comparado con una coincidencia de cadena simple. Esto permite a un atacante registrar un cliente con la URL de redireccionamiento permitida https://example.com/callback. Luego, llevar a cabo un flujo de OAuth2 y solicitando la URL de redireccionamiento https://example.com/CALLBACK. En lugar de un error (una URL de redireccionamiento no válida), el navegador es redireccionado a https://example.com/CALLBACK con una respuesta OAuth2 potencialmente exitosa, dependiendo del estado del flujo OAuth2 general (el usuario aún puede denegar la petición, por ejemplo ). Esta vulnerabilidad ha sido parcheada en ORY Fosite versión v0.34.1