In the OAuth library for nim prior to version 0.11, the state
values generated by the generateState
function do not have sufficient entropy. These can be successfully guessed by an attacker allowing them to perform a CSRF vs a user, associating the users session with the attackers protected resources. While state
isnt exactly a cryptographic value, it should be generated in a cryptographically secure way. generateState
should be using a CSPRNG. Version 0.11 modifies the generateState
function to generate state
values of at least 128 bits of entropy while using a CSPRNG.
The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.