Перейти к содержимому
Noroxi
CVE-2024-45337· NVD / CVE Program· CNA Go

Misuse of connection.serverAuthenticate may cause authorization bypass in golang.org/x/crypto

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 37/100)

  • Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
  • Вероятность эксплуатации в ближайшие 30 дней: 3,1% (FIRST EPSS); выше, чем у 87,8% записей.
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • По данным CISA атаку можно автоматизировать: цели находятся массовым сканированием.
  • Исправленная версия: golang.org/x/crypto golang.org/x/crypto/ssh 0.31.0; azl3 cert-manager 1.12.13-2 on Azure Linux 3.0 1.12.13-2; azl3 cf-cli 8.7.11-3 on Azure Linux 3.0 8.7.3-4.

Пока низкий приоритет. Обновитесь до golang.org/x/crypto golang.org/x/crypto/ssh 0.31.0; azl3 cert-manager 1.12.13-2 on Azure Linux 3.0 1.12.13-2; azl3 cf-cli 8.7.11-3 on Azure Linux 3.0 8.7.3-4 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

Applications and libraries which misuse connection.serverAuthenticate (via callback field ServerConfig.PublicKeyCallback) may be susceptible to an authorization bypass. The documentation for ServerConfig.PublicKeyCallback says that "A call to this function does not guarantee that the key offered is in fact used to authenticate." Specifically, the SSH protocol allows clients to inquire about whether a public key is acceptable before proving control of the corresponding private key. PublicKeyCallback may be called with multiple keys, and the order in which the keys were provided cannot be used to infer which key the client successfully authenticated with, if any. Some applications, which store the key(s) passed to PublicKeyCallback (or derived information) and make security relevant determinations based on it once the connection is established, may make incorrect assumptions. For example, an attacker may send public keys A and B, and then authenticate with A. PublicKeyCallback would be called only twice, first with A and then with B. A vulnerable application may then make authorization decisions based on key B for which the attacker does not actually control the private key. Since this API is widely misused, as a partial mitigation golang.org/x/cry...@v0.31.0 enforces the property that, when successfully authenticating via public key, the last key passed to ServerConfig.PublicKeyCallback will be the key used to authenticate the connection. PublicKeyCallback will now be called multiple times with the same key, if necessary. Note that the client may still not control the last key passed to PublicKeyCallback if the connection is then authenticated with a different method, such as PasswordCallback, KeyboardInteractiveCallback, or NoClientAuth. Users should be using the Extensions field of the Permissions return value from the various authentication callbacks to record data associated with the authentication attempt instead of referencing external state. Once the connection is established the state corresponding to the successful authentication attempt can be retrieved via the ServerConn.Permissions field. Note that some third-party libraries misuse the Permissions type by sharing it across authentication attempts; users of third-party libraries should refer to the relevant projects for guidance.

КритическаяCVSS 9.1 · v3.1—Proof of concept Есть исправление
Опубликовано
11 дек. 2024 г.
Обновлено
17 июн. 2026 г.
EPSS
3,1 % · 87-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

37

Наблюдать

Пока низкий приоритет.

CVSS
36 / 40 · 9.1 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
1 / 30 · 3,1 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
да
Техническое влияние
полное

Vulnrichment: входные данные дерева решений CISA.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Есть PoC, боевого модуля нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2024-45337

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

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

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

—

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (Go). Не зависят от анализа CPE в NVD и обычно опережают его.

  • golang.org/x/crypto golang.org/x/crypto/ssh

    • до 0.31.0затронута · semver

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12golang-go.cryptoс 0—
Debian:14golang-go.cryptoдо 1:0.42.0-11:0.42.0-1
Gogolang.org/x/cryptoдо 0.31.00.31.0
openSUSE:Leap 15.6vexctlдо 0.4.1+git78.f951e3a-150000.1.11.10.4.1+git78.f951e3a-150000.1.11.1
openSUSE:Leap 16.0git-bugдо 0.10.1-bp160.1.10.10.1-bp160.1.1
openSUSE:Leap 16.0gitea-teaдо 0.15.1-bp160.1.10.15.1-bp160.1.1
openSUSE:Leap 16.0google-guest-agentдо 20250506.01-160000.1.120250506.01-160000.1.1
openSUSE:Leap 16.0trivyдо 0.66.0-bp160.1.10.66.0-bp160.1.1
openSUSE:Leap 16.0vexctlдо 0.4.4+git20.5d61136-160000.1.10.4.4+git20.5d61136-160000.1.1
openSUSE:Tumbleweedapptainerдо 1.3.6-5.11.3.6-5.1
openSUSE:Tumbleweedcloudflaredдо 2024.12.1-1.12024.12.1-1.1
openSUSE:Tumbleweedgit-bugдо 0.8.0+git.1733745604.d499b6e-1.10.8.0+git.1733745604.d499b6e-1.1
openSUSE:Tumbleweedgitleaksдо 8.24.2-1.18.24.2-1.1
openSUSE:Tumbleweedgolang-github-prometheus-prometheusдо 3.1.0-1.13.1.0-1.1
openSUSE:Tumbleweedgoogle-guest-agentдо 20250327.01-1.120250327.01-1.1
openSUSE:Tumbleweedgopassдо 1.15.16-1.11.15.16-1.1
openSUSE:Tumbleweedgovulncheck-vulndbдо 0.0.20241213T205935-1.10.0.20241213T205935-1.1
openSUSE:Tumbleweedgrafanaдо 11.3.0-4.111.3.0-4.1
openSUSE:Tumbleweedhelmдо 3.16.4-1.13.16.4-1.1
openSUSE:Tumbleweedhelm3до 3.19.2-1.13.19.2-1.1
openSUSE:Tumbleweedlokiдо 3.3.2-1.13.3.2-1.1
openSUSE:Tumbleweedminikubeдо 1.36.0-2.11.36.0-2.1
openSUSE:Tumbleweedrcloneдо 1.69.0-1.11.69.0-1.1
openSUSE:Tumbleweedrime-plum-goдо 1.0.3-1.11.0.3-1.1

+59

Тот же продукт

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-56854Source-address critical option not enforced for non-public-key auth callbacks in golang.org/x/crypto/ssh
    30Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
golang.org/x/crypto golang.org/x/crypto/ssh0.31.0Вендор (CNA)
azl3 cert-manager 1.12.13-2 on Azure Linux 3.01.12.13-2 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 cf-cli 8.7.11-3 on Azure Linux 3.08.7.3-4 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 cf-cli 8.7.3-4 on Azure Linux 3.08.7.3-4 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 docker-buildx 0.14.0-2 on Azure Linux 3.00.14.0-2 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 docker-buildx 0.14.0-5 on Azure Linux 3.00.14.0-2 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 docker-compose 2.27.0-2 on Azure Linux 3.02.27.0-2 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 docker-compose 2.27.0-5 on Azure Linux 3.02.27.0-2 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 gh 2.62.0-3 on Azure Linux 3.02.62.0-3 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 gh 2.62.0-8 on Azure Linux 3.02.62.0-3 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 kubevirt 1.2.0-11 on Azure Linux 3.01.2.0-11 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 kubevirt 1.2.0-17 on Azure Linux 3.01.2.0-11 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 moby-engine 25.0.3-13 on Azure Linux 3.025.0.3-9 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 moby-engine 25.0.3-9 on Azure Linux 3.025.0.3-9 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 packer 1.9.5-4 on Azure Linux 3.01.9.5-4 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 packer 1.9.5-6 on Azure Linux 3.01.9.5-4 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 telegraf 1.31.0-10 on Azure Linux 3.01.31.0-3 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 telegraf 1.31.0-3 on Azure Linux 3.01.31.0-3 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 cert-manager 1.11.2-16 on CBL Mariner 2.01.11.2-16 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 cert-manager 1.11.2-22 on CBL Mariner 2.01.11.2-16 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 cert-manager 1.11.2-22 on CBL-Mariner 2.01.11.2-16 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 moby-compose 2.17.3-10 on CBL Mariner 2.02.17.3-9 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 moby-compose 2.17.3-10 on CBL-Mariner 2.02.17.3-9 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 moby-compose 2.17.3-9 on CBL Mariner 2.02.17.3-9 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 moby-engine 24.0.9-12 on CBL Mariner 2.024.0.9-12 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 moby-engine 24.0.9-16 on CBL Mariner 2.024.0.9-12 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 moby-engine 24.0.9-16 on CBL-Mariner 2.024.0.9-12 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 packer 1.9.5-5 on CBL Mariner 2.01.9.5-5 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 packer 1.9.5-5 on CBL-Mariner 2.01.9.5-5 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 telegraf 1.29.4-10 on CBL Mariner 2.01.29.4-10 · CBL-Mariner ReleasesMicrosoft (MSRC)

+27

Статус эксплойта

Есть proof of concept

Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.

Доказательство

  • Репозиторий PoC на GitHub ×4

Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.

Публичные свидетельства эксплойта
ИсточникТипДата
Репозиторий PoC на GitHubstars:62024-12-17
Репозиторий PoC на GitHubstars:12024-12-17
Репозиторий PoC на GitHubstars:12025-01-24
Репозиторий PoC на GitHubstars:02026-04-13

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

  1. Публикация
  2. Первый PoC+5 дн.
  3. Сегодня20 окт. 2026 г.+677 дн.
EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
нет
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Нет

Класс уязвимости (CWE)

CWE-1108 · Excessive Reliance on Global Variables

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

nvd-secondary

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Показать все источники (ещё 6)

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи