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…
Оценка 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.
- ALSA-2022:1819
- DLA-3395-1
- GO-2022-0247
- openSUSE-SU-2021:1420-1
- openSUSE-SU-2021:3487-1
- openSUSE-SU-2021:3488-1
- openSUSE-SU-2024:11567-1
- openSUSE-SU-2024:11568-1
- openSUSE-SU-2024:12758-1
- openSUSE-SU-2024:12759-1
- RHSA-2022:0432
- RHSA-2022:1819
- RLSA-2022:1819
- SUSE-SU-2021:3487-1
- SUSE-SU-2021:3488-1
- SUSE-SU-2023:0600-1
- SUSE-SU-2023:0601-1
- SUSE-SU-2023:0602-1
- SUSE-SU-2023:0603-1
- Опубликовано
- 18 окт. 2021 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 10,9 % · 95-й процентиль
- CWE
- CWE-120
Инструменты для отчёта
Оценка срочности
42
Включите в обычный цикл установки исправлений.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 3 / 30 · 10,9 %
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Есть PoC, боевого модуля нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
Затронута ли ваша версия? ПроверьтеАнализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| golang | go | cpe:2.3:a:golang:go |
| fedoraproject | fedora | cpe:2.3:o:fedoraproject:fedora |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- fedoraproject fedora34
- fedoraproject fedora35
- golang goдо 1.16.9
- golang go1.17.0 и новее · до 1.17.2
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:8 | delve | до 1.7.2-1.module_el8.6.0+2736+ec10aba8 | 1.7.2-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | go-toolset | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | golang | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | golang-bin | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | golang-docs | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | golang-misc | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | golang-race | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | golang-src | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| AlmaLinux:8 | golang-tests | до 1.17.7-1.module_el8.6.0+2736+ec10aba8 | 1.17.7-1.module_el8.6.0+2736+ec10aba8 |
| Alpine:v3.15 | go | с 1.17.0 · до 1.17.2-r0 | 1.17.2-r0 |
| Debian:10 | golang-1.11 | до 1.11.6-1+deb10u6 | 1.11.6-1+deb10u6 |
| Debian:11 | golang-1.15 | до 1.15.15-1~deb11u2 | 1.15.15-1~deb11u2 |
| Go | toolchain | с 1.17.0-0 · до 1.17.2 | 1.17.2 |
| Go | toolchain | до 1.16.9 | 1.16.9 |
| openSUSE:Leap 15.2 | go1.16 | до 1.16.9-lp152.14.1 | 1.16.9-lp152.14.1 |
| openSUSE:Leap 15.3 | go1.16 | до 1.16.9-1.29.1 | 1.16.9-1.29.1 |
| openSUSE:Leap 15.3 | go1.17 | до 1.17.2-1.6.2 | 1.17.2-1.6.2 |
| openSUSE:Leap 15.4 | google-guest-agent | до 20230221.00-150000.1.34.1 | 20230221.00-150000.1.34.1 |
| openSUSE:Leap 15.4 | google-osconfig-agent | до 20230222.00-150000.1.27.1 | 20230222.00-150000.1.27.1 |
| openSUSE:Tumbleweed | go1.16 | до 1.16.9-1.1 | 1.16.9-1.1 |
| openSUSE:Tumbleweed | go1.17 | до 1.17.2-1.1 | 1.17.2-1.1 |
| openSUSE:Tumbleweed | google-guest-agent | до 20230221.00-2.1 | 20230221.00-2.1 |
| openSUSE:Tumbleweed | google-osconfig-agent | до 20230222.00-2.1 | 20230222.00-2.1 |
| Red Hat:enterprise_linux:8::appstream | delve | до 0:1.7.2-1.module+el8.6.0+12972+ebab5911 | 0: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:delve | 1.7.2-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:go-toolset | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-bin | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-docs | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-misc | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-race | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-src | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-tests | 1.17.7-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| alpine:go | 1.17.2-r0 · Alpine:v3.15 | Реестр пакетов (OSV) |
| debian:golang-1.11 | 1.11.6-1+deb10u6 · Debian:10 | Реестр пакетов (OSV) |
| debian:golang-1.15 | 1.15.15-1~deb11u2 · Debian:11 | Реестр пакетов (OSV) |
| Go:toolchain | 1.16.9 | Реестр пакетов (OSV) |
| Go:toolchain | 1.17.2 | Реестр пакетов (OSV) |
| opensuse:go1.16 | 1.16.9-lp152.14.1 · openSUSE:Leap 15.2 | Реестр пакетов (OSV) |
| opensuse:go1.17 | 1.17.2-1.6.2 · openSUSE:Leap 15.3 | Реестр пакетов (OSV) |
| opensuse:google-guest-agent | 20230221.00-150000.1.34.1 · openSUSE:Leap 15.4 | Реестр пакетов (OSV) |
| opensuse:google-osconfig-agent | 20230222.00-150000.1.27.1 · openSUSE:Leap 15.4 | Реестр пакетов (OSV) |
| red hat:delve | 0:1.7.2-1.module+el8.6.0+12972+ebab5911 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:delve-debuginfo | 0:1.7.2-1.module+el8.6.0+12972+ebab5911 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:delve-debugsource | 0:1.7.2-1.module+el8.6.0+12972+ebab5911 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:go-toolset | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-bin | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-docs | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-misc | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-race | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-src | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-tests | 0:1.17.7-1.module+el8.6.0+14297+32a15e19 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:openshift-serverless-clients | 0: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 на GitHub | stars:8 | 2023-11-15 |
| Репозиторий PoC на GitHub | stars:0 | 2024-04-04 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Первый PoC+758 дн.
- Сегодня12 нояб. 2026 г.+1852 дн.
Национальное уведомление (Управление кибербезопасности Турции / USOM)
Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.
- TR-22-0113 · 4 февр. 2022 г.(RedHat Güvenlik Güncellemesi)
В записи нет: истории EPSS · ссылки на коммит или PR с исправлением · указания авторов находки · кандидатов в варианты и цепочки · публичной программы вознаграждений.
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-120 · Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Первопричина
При копировании данных длина источника не сравнивается с размером целевого буфера. Лишние данные перезаписывают соседнюю область памяти.
Ошибка в коде
Весь класс CWE-120Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
char buf[256];
memcpy(buf, pkt->data, pkt->len);Исправленный код
char buf[256];
if (pkt->len > sizeof(buf)) {
return -EINVAL;
}
memcpy(buf, pkt->data, pkt->len);Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- Buffer Overflow via Environment VariablesCAPEC-10вероятность: High · High
- Overflow BuffersCAPEC-100вероятность: High · Very High
- Client-side Injection-induced Buffer OverflowCAPEC-14вероятность: Medium · High
- Filter Failure through Buffer OverflowCAPEC-24вероятность: High · High
- MIME ConversionCAPEC-42вероятность: High · High
- Overflow Binary Resource FileCAPEC-44вероятность: High · Very High
- Buffer Overflow via Symbolic LinksCAPEC-45вероятность: High · High
- Overflow Variables and TagsCAPEC-46вероятность: High · High
Техники ATT&CK
—
Журнал изменений (1)
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 6)Свернуть
- groups.google.com/g/golang-announce/c/AEBu9j7yj5A
- lists.debian.org/debian-lts-announce/2023/04/msg00021.html
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/4OFS3M3OFB24SWPTIAPARKGPUMQVUY6Z/
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ON7BQRRJZBOR5TJHURBAB3WLF4YXFC6Z/
- security.gentoo.org/glsa/202208-02
- security.netapp.com/advisory/ntap-20211118-0006/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.