nano-id - это генератор уникальных строковых идентификаторов для Rust. Затронутые версии крейта nano-id некорректно генерировали идентифика…
nano-id - это генератор уникальных строковых идентификаторов для Rust. Затронутые версии крейта nano-id некорректно генерировали идентификаторы, используя уменьшенный набор символов в функциях `nano_id::base62` и `nano_id::base58`. В частности, функция `base62` использовала набор символов из 32 символов вместо предполагаемых 62 символов, а функция `base58` использовала набор символов из 16 символов вместо предполагаемых 58 символов. Кроме того, макрос `nano_id::gen` также подвержен уязвимости, когда указан пользовательский набор символов, размер которого не является степенью 2. Следует отметить, что `nano_id::base64` не подвержена этой уязвимости. Это может привести к значительному снижению энтропии, что делает сгенерированные идентификаторы предсказуемыми и уязвимыми для атак грубой силы, когда идентификаторы используются в контекстах, чувствительных к безопасности, таких как токены сеанса или уникальные идентификаторы. Уязвимость исправлена в версии 0.4.0.
Продукт применяет алгоритм или схему, генерирующую недостаточную энтропию, оставляя паттерны или кластеры значений, более вероятных, чем другие.
https://cwe.mitre.org/data/definitions/331.html →Открыть в коллекции CWE →Данная атака направлена на предсказуемые идентификаторы сеанса с целью получения привилегий. Злоумышленник может предсказать идентификатор сеанса, используемый во время транзакции, и применить его для подделки личности и перехвата сеанса.
https://capec.mitre.org/data/definitions/59.html →Открыть в коллекции CAPEC →