Golang-go.crypto
Уязвимости
15
Эксплуатируемые
0
Макс. CVSS
9.1
Макс. EPSS
0.93305
Распределение по критичности
Критический
1
Высокий
7
Средний
7
Низкий
0
Также сопоставлено как (исходные строки): golang-go.crypto
Топ уязвимостей
CVE-2024-45337Приложения и библиотеки, которые неправильно используют connection.serverAuthenticate (через поле обратного вызова ServerConfig.PublicKeyCallback), могут быть подвержены обходу аутентификации. Документация для ServerConfig.PublicKeyCallback говорит, что "Вызов этой функции не гарантирует, что предлагаемый ключ фактически использован для аутентификации." В частности, протокол SSH позволяет клиентам узнавать, приемлем ли публичный ключ, прежде чем доказать контроль над соответствующим приватным ключом. PublicKeyCallback может быть вызван с несколькими ключами, и порядок, в котором были предоставлены ключи, не может быть использован для вывода, с каким ключом клиент успешно аутентифицирован, если вообще. Некоторые приложения, которые хранят ключи, переданные в PublicKeyCallback (или производную информацию) и принимают важные для безопасности решения на основе этого после установления соединения, могут делать неверные предположения. Например, злоумышленник может отправить публичные ключи A и B, а затем аутентифицироваться с A. PublicKeyCallback будет вызван только дважды, сначала с A, а затем с B. Уязвимое приложение может затем принимать решения о авторизации на основе ключа B, над которым злоумышленник фактически не контролирует приватный ключ. Поскольку этот API широко misuse-ится, в качестве частичного смягчения golang.org/x/cry...@v0.31.0 устанавливает правило, что при успешной аутентификации с помощью публичного ключа последний ключ, переданный в ServerConfig.PublicKeyCallback, будет использоваться для аутентификации соединения. PublicKeyCallback теперь будет вызываться несколько раз с одним и тем же ключом, если это необходимо. Обратите внимание, что клиент всё равно может не контролировать последний ключ, переданный в PublicKeyCallback, если соединение затем аутентифицировано с помощью другого метода, такого как PasswordCallback, KeyboardInteractiveCallback или NoClientAuth. Пользователи должны использовать поле Extensions возвращаемого значения Permissions из различных обратных вызовов аутентификации для записи данных, связанных с попыткой аутентификации, вместо ссылки на внешнее состояние. После установления соединения состояние, соответствующее успешной попытке аутентификации, можно получить через поле ServerConn.Permissions. Обратите внимание, что некоторые сторонние библиотеки злоупотребляют типом Permissions, деля его во время различных попыток аутентификации; пользователи сторонних библиотек должны обращаться к соответствующим проектам за рекомендациями.
CVE-2025-47913Клиенты SSH, получающие SSH_AGENT_SUCCESS, когда ожидают набранного ответа, будут паниковать и вызывать досрочное прекращение процесса клиента.
CVE-2025-22869SSH-серверы, которые реализуют протоколы передачи файлов, уязвимы к атакам отказа в обслуживании от клиентов, которые медленно завершают обмен ключами или вообще его не завершают, что приводит к считыванию ожидающего контента в память, но никогда не передается.
CVE-2022-27191Пакет golang.org/x/crypto/ssh до версии 0.0.0-20220314234659-1baeb1ce4c0b для Go позволяет злоумышленнику вызвать сбой сервера при определенных обстоятельствах, связанных с AddHostKey.
CVE-2021-43565Пакет x/crypto/ssh до версии 0.0.0-20211202192323-5770296d904e из golang.org/x/crypto позволяет злоумышленнику вызвать панику SSH-сервера.
CVE-2020-9283golang.org/x/crypto до v0.0.0-20200220183623-bac4c82f6975 для Go допускает панику во время проверки подписи в пакете golang.org/x/crypto/ssh. Клиент может атаковать SSH-сервер, принимающий открытые ключи. Кроме того, сервер может атаковать любого SSH-клиента.
CVE-2020-29652Разыменование нулевого указателя в компоненте golang.org/x/crypto/ssh до версии v0.0.0-20201203163018-be400aefbc4c для Go позволяет удаленным злоумышленникам вызывать отказ в обслуживании SSH-серверов.
CVE-2022-23806Curve.IsOnCurve в crypto/elliptic в Go до 1.16.14 и 1.17.x до 1.17.7 может неправильно возвращать true в ситуациях со значением big.Int, которое не является допустимым элементом поля.
CVE-2024-45341Сертификат с URI, имеющим IPv6-адрес с идентификатором зоны, может неправильно соответствовать ограничению имени URI, которое применяется к цепочке сертификатов. Сертификаты, содержащие URI, не разрешены в веб-PKI, поэтому это затрагивает только пользователей частных PKI, которые используют URI.
CVE-2023-48795Транспортный протокол SSH с определенными расширениями OpenSSH, обнаруженный в OpenSSH до 9.6 и других продуктах, позволяет удаленным злоумышленникам обходить проверки целостности, так что некоторые пакеты опускаются (из сообщения о согласовании расширений), и клиент и сервер могут в конечном итоге получить соединение, для которого некоторые функции безопасности были понижены или отключены, также известное как атака Terrapin. Это происходит из-за того, что SSH Binary Packet Protocol (BPP), реализованный этими расширениями, неправильно обрабатывает фазу подтверждения связи и неправильно обрабатывает использование порядковых номеров. Например, существует эффективная атака против использования SSH ChaCha20-Poly1305 (и CBC с Encrypt-then-MAC). Обход происходит в chacha20-poly1305@openssh.com и (если используется CBC) алгоритмах MAC -etm@openssh.com. Это также затрагивает Maverick Synergy Java SSH API до 3.1.0-SNAPSHOT, Dropbear до 2022.83, Ssh до 5.1.1 в Erlang/OTP, PuTTY до 0.80, AsyncSSH до 2.14.2, golang.org/x/crypto до 0.17.0, libssh до 0.10.6, libssh2 до 1.11.0, Thorn Tech SFTP Gateway до 3.4.6, Tera Term до 5.1, Paramiko до 3.4.0, jsch до 0.2.15, SFTPGo до 2.5.6, Netgate pfSense Plus до 23.09.1, Netgate pfSense CE до 2.7.2, HPN-SSH до 18.2.0, ProFTPD до 1.3.8b (и до 1.3.9rc2), ORYX CycloneSSH до 2.3.4, NetSarang XShell 7 до Build 0144, CrushFTP до 10.6.0, ConnectBot SSH library до 2.2.22, Apache MINA sshd до 2.11.0, sshj до 0.37.0, TinySSH до 20230101, trilead-ssh2 6401, LANCOM LCOS и LANconfig, FileZilla до 3.66.4, Nova до 11.8, PKIX-SSH до 14.4, SecureCRT до 9.4.3, Transmit5 до 5.10.4, Win32-OpenSSH до 9.5.0.0p1-Beta, WinSCP до 6.2.2, Bitvise SSH Server до 9.32, Bitvise SSH Client до 9.33, KiTTY до 0.76.1.13, net-ssh gem 7.2.0 для Ruby, mscdex ssh2 module до 1.15.0 для Node.js, thrussh library до 0.35.1 для Rust и Russh crate до 0.40.2 для Rust.
CVE-2019-11841Проблема подделки сообщений была обнаружена в crypto/openpgp/clearsign/clearsign.go во вспомогательных криптографических библиотеках Go 2019-03-25. Согласно спецификации формата сообщений OpenPGP в RFC 4880, глава 7, подписанное сообщение в открытом виде может содержать один или несколько необязательных Armor Headers Hash. Armor Header Hash указывает алгоритм(ы) дайджеста сообщений, используемые для подписи. Однако пакет Go clearsign игнорирует значение этого заголовка, что позволяет злоумышленнику подделать его. Следовательно, злоумышленник может заставить жертву поверить, что подпись была сгенерирована с использованием другого алгоритма дайджеста сообщений, чем тот, который был использован на самом деле. Более того, поскольку библиотека вообще пропускает анализ Armor Header, злоумышленник может не только встраивать произвольные Armor Headers, но и добавлять произвольный текст к сообщениям в открытом виде, не делая недействительными подписи.
CVE-2019-11840Проблема была обнаружена во вспомогательной криптографической библиотеке Go, golang.org/x/crypto, до версии v0.0.0-20190320223903-b7391e95e576. Ошибка была обнаружена в реализации amd64 пакетов golang.org/x/crypto/salsa20 и golang.org/x/crypto/salsa20/salsa. Если сгенерировано более 256 ГиБ потока ключей или если счетчик иным образом вырастает больше 32 бит, реализация amd64 сначала сгенерирует неверный вывод, а затем вернется к ранее сгенерированному потоку ключей. Повторяющиеся байты потока ключей могут привести к потере конфиденциальности в приложениях шифрования или к предсказуемости в приложениях CSPRNG.
CVE-2025-58181SSH-серверы, разборщие запросы аутентификации GSSAPI, не валидируют количество механизмов, указанных в запросе, что позволяет злоумышленнику вызывать неограниченное потребление памяти.
CVE-2025-47914Серверы SSH Agent не проверяют размер сообщений при обработке новых запросов на личность, что может вызвать панику в программе, если сообщение уроду из-за нестандартного чтения.
CVE-2017-3204Библиотека Go SSH (x/crypto/ssh) по умолчанию не проверяет ключи хоста, что облегчает атаки "человек посередине". Поведение по умолчанию изменено в коммите e4e2799, чтобы требовать явной регистрации механизма проверки ключа хоста.