Nanoid · Nanoid · CVE-2024-36400
**Nome do software vulnerável e versões afetadas**
Versões do nano-id anteriores à 0.4.0
**Descrição**
As versões afetadas do crate nano-id geravam IDs incorretamente, utilizando um conjunto reduzido de caracteres nas funções `nano id::base62` e `nano id::base58`. Especificamente, a função `base62` utilizava um conjunto de caracteres de 32 símbolos em vez dos 62 símbolos pretendidos, e a função `base58` utilizava um conjunto de caracteres de 16 símbolos em vez dos 58 símbolos pretendidos. Além disso, a macro `nano id::gen` também é afetada quando é especificado um conjunto de caracteres personalizado cujo tamanho não seja uma potência de 2. Deve-se observar que `nano id::base64` não é afetada por essa vulnerabilidade. Isso pode resultar em uma redução significativa na entropia, tornando os IDs gerados previsíveis e vulneráveis a ataques de força bruta quando os IDs são usados em contextos sensíveis à segurança, como tokens de sessão ou identificadores únicos.
**Recomendações**
Para resolver o problema, atualize para a versão 0.4.0 ou posterior, pois a vulnerabilidade foi corrigida nesta versão.
Como solução temporária, considere evitar o uso das funções `nano id::base62` e `nano id::base58` até que um patch esteja disponível.
Restrinja o acesso a contextos sensíveis à segurança onde os IDs gerados são usados para minimizar o risco de exploração.