Критическая уязвимость в криптографической библиотеке Libgcrypt 1.9.0

В опубликованном на прошлой неделе выпуске криптографической библиотеки Libgcrypt 1.9.0, которая используется в GnuPG, выявлена легко эксплуатируемая критическая уязвимость, позволяющая добиться переполнения буфера при попытке расшифровки специально оформленных данных, на стадии до верификации или проверки цифровой подписи. Уязвимость затрагивает GnuPG и другие приложения, использующие уязвимую версию Libgcrypt.

CVE-идентификатор уязвимости ещё не присвоен. Проблема устранена в обновлении Libgcrypt 1.9.1. Разработчики проекта GnuPG рекомендуют как можно скорее прекратить использование версии 1.9.0, которую уже успели включить в состав репозиториев Fedora 34 и Gentoo.

Проблема вызвана ошибкой, приводящей к переполнению буфера. Проблема проявляется только в выпуске 1.9.0 и вызвана изменением в новой реализации хэш-функций, внесённым около двух лет назад. Изменение заменяло рекурсивный вызов функции на использование buf_cpy для копирования буферов. Переполнение возникало из-за некорректного определения размера буфера для расшифруемого блока.

Release. Ссылка here.