В PuTTY нашли уязвимость, позволяющую восстановить закрытые ключи

В PuTTY нашли уязвимость, позволяющую восстановить закрытые ключи

Разработчики PuTTY, популярного SSH- и Telnet-клиента, уведомили пользователей о выявленной уязвимости, затрагивающей версии софта с 0.68 по 0.80. В случае эксплуатации эта брешь позволяет вытащить закрытые ключи NIST P-521 (ecdsa-sha2-nistp521).

Проблема в настоящее время отслеживается под идентификатором CVE-2024-31497. Девелоперы поблагодарили Фабиана Боймера и Маркуса Бринкманна из Рурского университета в Бохуме за сведения о дыре.

В официальном уведомлении команда PuTTY пишет:

«Уязвимость угрожает компрометацией закрытого ключа. Условный атакующий, в руках которого будут десятки подписанных сообщений и открытый ключ, сможет восстановить закрытый ключ и подделать подпись».

«Другими словами, злоумышленник сможет аутентифицироваться на любых серверах, которые использует жертва».

Тем не менее стоит учитывать, что атакующему придётся скомпрометировать сервер, ключ от которого он пытается утащить. Фабиан Боймер, например, в рассылке Open Source Software Security (oss-sec) уточняет, что брешь стала следствием генерации однократно используемых чисел ECDSA. Последние могут помочь восстановить закрытый ключ.

«Первые девять бит каждого однократно используемого числа равны нулю. Это позволяет восстановить закрытый ключ приблизительно по 60 подписям», — объясняет Боймер.

«Такие подписи злоумышленник может собрать с помощью вредоносного сервера (атаки вида “Человек посередине“ провести не получится — клиенты не передают подписи в открытом виде)».

Список затронутых уязвимостью продуктов приводим ниже. Обращаем внимание на доступность патчей, которые желательно установить как можно скорее.

  • FileZilla (3.24.1 - 3.66.5)
  • WinSCP (5.9.5 - 6.3.2)
  • TortoiseGit (2.4.0.2 - 2.15.0)
  • TortoiseSVN (1.10.0 - 1.14.6)