I believe we have accidentally found a security flaw in the AuthorizationServer. It seems like the AS never checks if the client is enabled or not. I believe a simple clause like the one in the ClientValidator.cs from the v3 should solve the problem.
var client = await _clients.FindClientByIdAsync(credential.ClientId);
if (client == null || client.Enabled == false)
{
Logger.Error("Client not found in registry or not enabled: " + credential.ClientId);
return null;
}
I think the AuthorizeRequestValidator.cs and TokenRequestValidator.cs are the only ones affected. Could you please verify this, before we attempt any fixes.
Hi,
I believe we have accidentally found a security flaw in the AuthorizationServer. It seems like the AS never checks if the client is enabled or not. I believe a simple clause like the one in the
ClientValidator.cs
from the v3 should solve the problem.I think the
AuthorizeRequestValidator.cs
andTokenRequestValidator.cs
are the only ones affected. Could you please verify this, before we attempt any fixes.