Picotls — это библиотека протоколов TLS, которая позволяет пользователям выбирать различные криптографические серверы в зависимости от их варианта использования. Picotls реализует собственный помощник проверки ASN.1, который используется серверной частью minicrypto при анализе локальных закрытых ключей PKCS#8. Перед фиксацией c14231d801407640bc42c2dcf92783409ea6a7c7 валидатор рекурсивно спускается к созданным элементам ASN.1, не обеспечивая максимальную глубину вложенности.
Если приложение загружает предоставленный злоумышленником файл закрытого ключа через ptls_minicrypto_load_private_key() или иным образом вызывает общедоступный API проверки ASN.1 на ненадежном DER, созданная глубоко вложенная структура ASN.1 может исчерпать стек процессов и привести к сбою приложения. Обратите внимание, что серверная часть libcrypto (OpenSSL) не использует помощник проверки ASN.1 picotls и, следовательно, невосприимчив к этой уязвимости. Уязвимость устранена в коммите c14231d801407640bc42c2dcf92783409ea6a7c7.
Показать оригинальное описание (EN)
Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. Picotls implements its own ASN.1 validation helper, which is used by the minicrypto backend while parsing local PKCS#8 private keys. Prior to commit c14231d801407640bc42c2dcf92783409ea6a7c7, the validator recursively descends into constructed ASN.1 elements without enforcing a maximum nesting depth. If an application loads an attacker-supplied private-key file through ptls_minicrypto_load_private_key(), or otherwise calls the public ASN.1 validation API on untrusted DER, a crafted deeply nested ASN.1 structure can exhaust the process stack and crash the application. Note that the libcrypto (OpenSSL) backend does not use the ASN.1 validation helper of picotls, and therefore is immune to this vulnerability. The vulnerability has been addressed in commit c14231d801407640bc42c2dcf92783409ea6a7c7.
Характеристики атаки
Последствия
Строка CVSS v3.1