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

CVE-2021-38297: Go before 1.16.9 and 1.17.x before 1.17.2 has a Buffer Overflow via large arguments in a function invocation from a WASM module, when…

КритическаяCVSS 9.8 · v3.1—Есть PoC Есть исправление

Оценка Noroxi

Приоритет: В плане (оценка срочности 42/100)

  • Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
  • Вероятность эксплуатации в ближайшие 30 дней: 10,9% (FIRST EPSS); выше, чем у 95,9% записей.
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: delve (AlmaLinux:8) 1.7.2-1.module_el8.6.0+2736+ec10aba8; go-toolset (AlmaLinux:8) 1.17.7-1.module_el8.6.0+2736+ec10aba8; golang (AlmaLinux:8) 1.17.7-1.module_el8.6.0+2736+ec10aba8.
  • Упоминается в национальных бюллетенях кибербезопасности Турции (siberguvenlik.gov.tr): 1.

Включите в обычный цикл установки исправлений. Обновитесь до delve (AlmaLinux:8) 1.7.2-1.module_el8.6.0+2736+ec10aba8; go-toolset (AlmaLinux:8) 1.17.7-1.module_el8.6.0+2736+ec10aba8; golang (AlmaLinux:8) 1.17.7-1.module_el8.6.0+2736+ec10aba8 или новее.

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

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

Go before 1.16.9 and 1.17.x before 1.17.2 has a Buffer Overflow via large arguments in a function invocation from a WASM module, when GOARCH=wasm GOOS=js is used.

Опубликовано
18 окт. 2021 г.
Обновлено
17 июн. 2026 г.
EPSS
10,9 % · 95-й процентиль

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

JSON

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

42

В плане

Включите в обычный цикл установки исправлений.

CVSS
39 / 40 · 9.8 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
3 / 30 · 10,9 %

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

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

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

Следить за CVE-2021-38297

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

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

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

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

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

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

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

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

Анализ Noroxi

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

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

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

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

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

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

ВендорПродукт
golanggo
fedoraprojectfedora

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

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • fedoraproject fedora34
  • fedoraproject fedora35
  • golang goдо 1.16.9
  • golang go1.17.0 и новее · до 1.17.2

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8delveдо 1.7.2-1.module_el8.6.0+2736+ec10aba81.7.2-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8go-toolsetдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8golangдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8golang-binдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8golang-docsдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8golang-miscдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8golang-raceдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8golang-srcдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
AlmaLinux:8golang-testsдо 1.17.7-1.module_el8.6.0+2736+ec10aba81.17.7-1.module_el8.6.0+2736+ec10aba8
Alpine:v3.15goс 1.17.0 · до 1.17.2-r01.17.2-r0
Debian:10golang-1.11до 1.11.6-1+deb10u61.11.6-1+deb10u6
Debian:11golang-1.15до 1.15.15-1~deb11u21.15.15-1~deb11u2
Gotoolchainс 1.17.0-0 · до 1.17.21.17.2
Gotoolchainдо 1.16.91.16.9
openSUSE:Leap 15.2go1.16до 1.16.9-lp152.14.11.16.9-lp152.14.1
openSUSE:Leap 15.3go1.16до 1.16.9-1.29.11.16.9-1.29.1
openSUSE:Leap 15.3go1.17до 1.17.2-1.6.21.17.2-1.6.2
openSUSE:Leap 15.4google-guest-agentдо 20230221.00-150000.1.34.120230221.00-150000.1.34.1
openSUSE:Leap 15.4google-osconfig-agentдо 20230222.00-150000.1.27.120230222.00-150000.1.27.1
openSUSE:Tumbleweedgo1.16до 1.16.9-1.11.16.9-1.1
openSUSE:Tumbleweedgo1.17до 1.17.2-1.11.17.2-1.1
openSUSE:Tumbleweedgoogle-guest-agentдо 20230221.00-2.120230221.00-2.1
openSUSE:Tumbleweedgoogle-osconfig-agentдо 20230222.00-2.120230222.00-2.1
Red Hat:enterprise_linux:8::appstreamdelveдо 0:1.7.2-1.module+el8.6.0+12972+ebab59110:1.7.2-1.module+el8.6.0+12972+ebab5911

+20

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

golang: все записи

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

  • CVE-2018-7187The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not validate the import path (get/vcs.go only…
    54В плане
  • CVE-2018-16873In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to remote code execution when executed with the -u flag…
    52В плане
  • CVE-2019-14809net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization bypass in some…
    42В плане

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

  • ← РаньшеCVE-2021-299237 авг. 2021 г. · Go before 1.17 does not properly consider extraneous zero characters at the beginning of an IP address octet, which (in some situations)…
    31Наблюдать
  • ← РаньшеCVE-2021-362218 авг. 2021 г. · Go before 1.15.15 and 1.16.x before 1.16.7 has a race condition that can lead to a net/http/httputil ReverseProxy panic upon an…
    24Наблюдать
  • Позже →CVE-2021-417718 нояб. 2021 г. · ImportedSymbols in debug/macho (for Open or OpenFat) in Go before 1.16.10 and 1.17.x before 1.17.3 Accesses a Memory Location After the End…
    31Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
almalinux:delve1.7.2-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:go-toolset1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:golang1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:golang-bin1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:golang-docs1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:golang-misc1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:golang-race1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:golang-src1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:golang-tests1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8Реестр пакетов (OSV)
alpine:go1.17.2-r0 · Alpine:v3.15Реестр пакетов (OSV)
debian:golang-1.111.11.6-1+deb10u6 · Debian:10Реестр пакетов (OSV)
debian:golang-1.151.15.15-1~deb11u2 · Debian:11Реестр пакетов (OSV)
Go:toolchain1.16.9Реестр пакетов (OSV)
Go:toolchain1.17.2Реестр пакетов (OSV)
opensuse:go1.161.16.9-lp152.14.1 · openSUSE:Leap 15.2Реестр пакетов (OSV)
opensuse:go1.171.17.2-1.6.2 · openSUSE:Leap 15.3Реестр пакетов (OSV)
opensuse:google-guest-agent20230221.00-150000.1.34.1 · openSUSE:Leap 15.4Реестр пакетов (OSV)
opensuse:google-osconfig-agent20230222.00-150000.1.27.1 · openSUSE:Leap 15.4Реестр пакетов (OSV)
red hat:delve0:1.7.2-1.module+el8.6.0+12972+ebab5911 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:delve-debuginfo0:1.7.2-1.module+el8.6.0+12972+ebab5911 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:delve-debugsource0:1.7.2-1.module+el8.6.0+12972+ebab5911 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:go-toolset0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:golang0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:golang-bin0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:golang-docs0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:golang-misc0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:golang-race0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:golang-src0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:golang-tests0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstreamРеестр пакетов (OSV)
red hat:openshift-serverless-clients0:0.26.0-2.el8 · Red Hat:serverless:1.0::el8Реестр пакетов (OSV)

+8

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

Есть proof of concept

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

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

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

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

Публичные свидетельства эксплойта
ИсточникТипДата
Репозиторий PoC на GitHubstars:82023-11-15
Репозиторий PoC на GitHubstars:02024-04-04

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

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

Хронология

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

  1. Публикация
  2. Первый PoC+758 дн.
  3. Сегодня12 нояб. 2026 г.+1852 дн.

Национальное уведомление (Управление кибербезопасности Турции / USOM)

Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.

Все национальные уведомления →

В записи нет: истории EPSS · ссылки на коммит или PR с исправлением · указания авторов находки · кандидатов в варианты и цепочки · публичной программы вознаграждений.

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

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

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

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

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

Вектор CVSS

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

nvd-primary

Первопричина

При копировании данных длина источника не сравнивается с размером целевого буфера. Лишние данные перезаписывают соседнюю область памяти.

Ошибка в коде

Весь класс CWE-120

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

c
char buf[256];memcpy(buf, pkt->data, pkt->len);

Исправленный код

c
char buf[256];if (pkt->len > sizeof(buf)) {  return -EINVAL;}memcpy(buf, pkt->data, pkt->len);

Источники

Все записи