В Libgcrypt выявлена уязвимость, позволяющая воссоздать RSA-ключи
Разработчики пакета GnuPG выпустили обновление библиотеки Libgcrypt 1.7.8, предлагающей набор компонентов, лежащих в основе механизмов шифрования, применяемых в GnuPG. В новой версии устранена опасная уязвимость (CVE-2017-7526), выявленная группой исследователей под руководством Дэниэла Бернштейна (Daniel J. Bernstein), известного эксперта в области криптографии и создания защищенного ПО, разработавший такие проекты, как qmail, djbdns, Ed25519, Curve25519 и ChaCha20-Poly1305.
Уязвимость позволяет восстановить содержимое закрытого ключа RSA через проведение атаки по сторонним каналам (side-channel attacks) на базе техники FLUSH+RELOAD. Суть проблемы в том, что злоумышленник, имеющий возможность запустить свой код на системе на которой в текущий момент используется закрытый RSA-ключ, может пошагово смоделировать содержимое процессорного кэша, в котором оседают данные RSA-ключа, на основе измерения отклонения времени доступа к данным до и после сброса кэша. Атака применима к 1024-битлвым ключам RSA и теоретически может быть использована для 2048-битовых ключей, но потребует значительных вычислений.
Разработчики Libgcrypt отмечают, что с практической точки зрения атака через указанную уязвимость для получения RSA-ключа маловероятна, так как при наличии у злоумышленника непривилегированного доступа к системе, скорее всего для получения RSA-ключа он воспользуется более простыми способами, такими как ожидание новой локальной уязвимости и ее эксплуатация до установки обновления. При этом не исключается возможность проведения атаки на системах виртуализации для определения RSA-ключа другого виртуального окружения, работающего на том же сервере.
Обновление пакетов с устранением уязвимости уже доступны для Debian, Ubuntu, FreeBSD, Fedora. Пока не выпущены обновления для SUSE, openSUSE. RHEL и CentOS проблеме не подвержены, но уязвимость затрагивает пакеты с Libgcrypt из репозитория EPEL.