25.02.2021

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

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

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

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

Источник.