Библиотека Go ShangMi (коммерческая криптография) (GMSM) — это криптографическая библиотека, которая охватывает китайские общедоступные коммерческие криптографические алгоритмы SM2/SM3/SM4/SM9/ZUC. До версии 0.41.1 текущая реализация дешифрования SM9 содержала уязвимость подделки бесконечного зашифрованного текста. Основная причина заключается в том, что во время расшифровки точка C1 эллиптической кривой в зашифрованном тексте только десериализуется и проверяется на предмет нахождения на кривой, но реализация явно не отклоняет точку, находящуюся на бесконечности.
В текущей реализации злоумышленник может построить C1 как точку на бесконечности, в результате чего результат билинейного спаривания вырождается в единичный элемент в группе GT. В результате критическая часть входных данных для вывода ключа становится предсказуемой константой. Злоумышленник, которому известен только UID целевого пользователя, может получить материал ключа дешифрования, а затем подделать зашифрованный текст, который пройдет проверку целостности.
Эта уязвимость исправлена в версии 0.41.1.
Показать оригинальное описание (EN)
Go ShangMi (Commercial Cryptography) Library (GMSM) is a cryptographic library that covers the Chinese commercial cryptographic public algorithms SM2/SM3/SM4/SM9/ZUC. Prior to 0.41.1, the current SM9 decryption implementation contains an infinity-point ciphertext forgery vulnerability. The root cause is that, during decryption, the elliptic-curve point C1 in the ciphertext is only deserialized and checked to be on the curve, but the implementation does not explicitly reject the point at infinity. In the current implementation, an attacker can construct C1 as the point at infinity, causing the bilinear pairing result to degenerate into the identity element in the GT group. As a result, a critical part of the key derivation input becomes a predictable constant. An attacker who only knows the target user's UID can derive the decryption key material and then forge a ciphertext that passes the integrity check. This vulnerability is fixed in 0.41.1.
Характеристики атаки
Последствия
Строка CVSS v3.1