openCryptoki — это библиотека PKCS#11, предоставляющая инструменты для Linux и AIX. В версиях 3.26.0 и ниже функции декодирования BER/DER в общей общей библиотеке (asn1.c) принимают необработанный указатель, но не принимают параметр длины буфера, и доверяют полям длины BER, контролируемым злоумышленником, без проверки их на соответствие фактическим границам буфера. Затрагиваются все примитивные декодеры: ber_decode_INTEGER, ber_decode_SEQUENCE, ber_decode_OCTET_STRING, ber_decode_BIT_STRING и ber_decode_CHOICE.
Кроме того, ber_decode_INTEGER может создавать целочисленные потери, когда закодированная длина равна нулю. Злоумышленник, предоставляющий искаженный криптографический объект в кодировке BER с помощью операций PKCS#11, таких как C_CreateObject или C_UnwrapKey, загрузка токена с диска или удаленная внутренняя связь, может инициировать чтение за пределами допустимого диапазона. Это затрагивает все серверные части токенов (Soft, ICA, CCA, TPM, EP11, ICSF), поскольку уязвимый код находится в общей общей библиотеке.
Патч доступен через коммит ed378f463ef73364c89feb0fc923f4dc867332a3.
Показать оригинальное описание (EN)
openCryptoki is a PKCS#11 library and provides tooling for Linux and AIX. In versions 3.26.0 and below, the BER/DER decoding functions in the shared common library (asn1.c) accept a raw pointer but no buffer length parameter, and trust attacker-controlled BER length fields without validating them against actual buffer boundaries. All primitive decoders are affected: ber_decode_INTEGER, ber_decode_SEQUENCE, ber_decode_OCTET_STRING, ber_decode_BIT_STRING, and ber_decode_CHOICE. Additionally, ber_decode_INTEGER can produce integer underflows when the encoded length is zero. An attacker supplying a malformed BER-encoded cryptographic object through PKCS#11 operations such as C_CreateObject or C_UnwrapKey, token loading from disk, or remote backend communication can trigger out-of-bounds reads. This affects all token backends (Soft, ICA, CCA, TPM, EP11, ICSF) since the vulnerable code is in the shared common library. A patch is available thorugh commit ed378f463ef73364c89feb0fc923f4dc867332a3.
Характеристики атаки
Последствия
Строка CVSS v3.1