Когда инициализация открытого ключа RSA из байтов DER или PEM выдает ошибку, EVP_PKEY* освобождается дважды: сначала в блоке catch, затем в блоке deinit. Это может привести к сбою при будущем распределении памяти. Это двойное освобождение проявляется, когда BoringSSL не может декодировать открытый ключ из предоставленных байтов.
Эта уязвимость устранена в версии Swift-crypto 4.5.1.
Показать оригинальное описание (EN)
When initializing an RSA public key from DER or PEM bytes throws an error, the EVP_PKEY* is double-freed: first in the catch block, then in the deinit. This can lead to a crash on future memory allocations. This double-free manifests when BoringSSL cannot decode the public key from the bytes provided. This vulnerability is addressed in swift-crypto version 4.5.1.
Характеристики атаки
Последствия
Строка CVSS v3.1