Stack exhaustion from deeply nested XML documents in encoding/xml
Uncontrolled recursion in Decoder.Skip in encoding/xml before Go 1.17.12 and Go 1.18.4 allows an attacker to cause a panic due to stack exhaustion via a deeply nested XML document.
- BDU:2022-06492
- ALSA-2022:5775
- ALSA-2022:5799
- ALSA-2022:7519
- ALSA-2022:7529
- ALSA-2022:8057
- ALSA-2023:2758
- ALSA-2023:2802
- GO-2022-0521
- openSUSE-SU-2024:12189-1
- openSUSE-SU-2024:12190-1
- RHSA-2022:5775
- RHSA-2022:5799
- RHSA-2022:5866
- RHSA-2022:6042
- RHSA-2022:6113
- RHSA-2022:7519
- RHSA-2022:7529
- RHSA-2022:8057
- RHSA-2023:0407
- Опубликовано
- 10 авг. 2022 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 2,3 % · 82-й процентиль
- CWE
- CWE-674
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
31
Наблюдать
Пока низкий приоритет.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 1 / 30 · 2,3 %
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| golang | go | cpe:2.3:a:golang:go |
| fedoraproject | fedora | cpe:2.3:o:fedoraproject:fedora |
| netapp | cloud insights telegraf | cpe:2.3:a:netapp:cloud_insights_telegraf |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- fedoraproject fedora35
- golang goдо 1.17.12
- golang go1.18.0 и новее · до 1.18.4
- netapp cloud insights telegrafвсе версии
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Go). Не зависят от анализа CPE в NVD и обычно опережают его.
Go standard library encoding/xml
- до 1.17.12затронута · semver
- 1.18.0-0 и новее · до 1.18.4затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:8 | aardvark-dns | до 2:1.5.0-2.module_el8.8.0+3470+252b1910 | 2:1.5.0-2.module_el8.8.0+3470+252b1910 |
| AlmaLinux:8 | aardvark-dns | до 2:1.0.1-37.module_el8.8.0+3468+16b86c82 | 2:1.0.1-37.module_el8.8.0+3468+16b86c82 |
| AlmaLinux:8 | buildah | до 1:1.29.1-1.module_el8.8.0+3470+252b1910 | 1:1.29.1-1.module_el8.8.0+3470+252b1910 |
| AlmaLinux:8 | buildah | до 1.19.9-6.module_el8.7.0+3297+1eb250cf | 1.19.9-6.module_el8.7.0+3297+1eb250cf |
| AlmaLinux:8 | buildah | до 1:1.24.6-5.module_el8.8.0+3468+16b86c82 | 1:1.24.6-5.module_el8.8.0+3468+16b86c82 |
| AlmaLinux:8 | buildah-tests | до 1:1.29.1-1.module_el8.8.0+3470+252b1910 | 1:1.29.1-1.module_el8.8.0+3470+252b1910 |
| AlmaLinux:8 | buildah-tests | до 1.19.9-6.module_el8.7.0+3297+1eb250cf | 1.19.9-6.module_el8.7.0+3297+1eb250cf |
| AlmaLinux:8 | buildah-tests | до 1:1.24.6-5.module_el8.8.0+3468+16b86c82 | 1:1.24.6-5.module_el8.8.0+3468+16b86c82 |
| AlmaLinux:8 | cockpit-podman | до 63.1-1.module_el8.8.0+3557+7ba9cc13 | 63.1-1.module_el8.8.0+3557+7ba9cc13 |
| AlmaLinux:8 | cockpit-podman | до 46-1.module_el8.7.0+3344+5bcd850f | 46-1.module_el8.7.0+3344+5bcd850f |
| AlmaLinux:8 | cockpit-podman | до 29-2.module_el8.6.0+2876+9ed4eae2 | 29-2.module_el8.6.0+2876+9ed4eae2 |
| AlmaLinux:8 | conmon | до 2:2.1.4-1.module_el8.7.0+3344+5bcd850f | 2:2.1.4-1.module_el8.7.0+3344+5bcd850f |
| AlmaLinux:8 | conmon | до 2:2.0.26-3.module_el8.7.0+3297+1eb250cf | 2:2.0.26-3.module_el8.7.0+3297+1eb250cf |
| AlmaLinux:8 | conmon | до 3:2.1.6-1.module_el8.8.0+3470+252b1910 | 3:2.1.6-1.module_el8.8.0+3470+252b1910 |
| AlmaLinux:8 | container-selinux | до 2:2.189.0-1.module_el8.7.0+3406+a17c4180 | 2:2.189.0-1.module_el8.7.0+3406+a17c4180 |
| AlmaLinux:8 | container-selinux | до 2:2.189.0-1.module_el8.6.0+3336+00d107d5 | 2:2.189.0-1.module_el8.6.0+3336+00d107d5 |
| AlmaLinux:8 | container-selinux | до 2:2.189.0-1.module_el8.7.0+3297+1eb250cf | 2:2.189.0-1.module_el8.7.0+3297+1eb250cf |
| AlmaLinux:8 | container-selinux | до 2:2.205.0-2.module_el8.8.0+3557+7ba9cc13 | 2:2.205.0-2.module_el8.8.0+3557+7ba9cc13 |
| AlmaLinux:8 | container-selinux | до 2:2.199.0-1.module_el8.8.0+3468+16b86c82 | 2:2.199.0-1.module_el8.8.0+3468+16b86c82 |
| AlmaLinux:8 | containernetworking-plugins | до 0.9.1-1.module_el8.6.0+3136+bfcd65b6 | 0.9.1-1.module_el8.6.0+3136+bfcd65b6 |
| AlmaLinux:8 | containernetworking-plugins | до 1:1.1.1-2.module_el8.7.0+3344+5bcd850f | 1:1.1.1-2.module_el8.7.0+3344+5bcd850f |
| AlmaLinux:8 | containernetworking-plugins | до 1:1.2.0-1.module_el8.8.0+3470+252b1910 | 1:1.2.0-1.module_el8.8.0+3470+252b1910 |
| AlmaLinux:8 | containernetworking-plugins | до 0.9.1-1.module_el8.6.0+2876+9ed4eae2 | 0.9.1-1.module_el8.6.0+2876+9ed4eae2 |
| AlmaLinux:8 | containers-common | до 1:1.2.4-2.module_el8.7.0+3297+1eb250cf | 1:1.2.4-2.module_el8.7.0+3297+1eb250cf |
+96
Тот же продукт
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 and52В плане
- CVE-2021-38297Go 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 GOARCH42В плане
- 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 applica42В плане
- CVE-2015-5739The net/http library in net/textproto/reader.go in Go before 1.4.3 does not properly parse HTTP header keys, which allows remote attackers t42В плане
- CVE-2017-15041Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution.42В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Go standard library encoding/xml | 1.17.12 | Вендор (CNA) |
| Go standard library encoding/xml | 1.18.4 | Вендор (CNA) |
| almalinux:buildah | 1.19.9-6.module_el8.7.0+3297+1eb250cf · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:buildah-tests | 1.19.9-6.module_el8.7.0+3297+1eb250cf · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:delve | 1.7.2-1.module_el8.6.0+2736+ec10aba8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:go-toolset | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-bin | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-docs | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-misc | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-race | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-src | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:golang-tests | 1.17.12-1.module_el8.6.0+3065+e17ed2d4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:grafana | 7.5.15-3.el8 · AlmaLinux:8 | Реестр пакетов (OSV) |
| Go:stdlib | 1.17.12 | Реестр пакетов (OSV) |
| Go:stdlib | 1.18.4 | Реестр пакетов (OSV) |
| opensuse:go1.17 | 1.17.13-150000.1.42.1 · openSUSE:Leap 15.3 | Реестр пакетов (OSV) |
| opensuse:go1.18 | 1.18.5-150000.1.25.1 · openSUSE:Leap 15.3 | Реестр пакетов (OSV) |
| opensuse:go1.18-openssl | 1.18.10.1-150000.1.9.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.12-1.module+el8.6.0+16014+a372c00b · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:go-toolset-1.17-golang | 0:1.17.12-1.el7_9 · Red Hat:devtools:2022 | Реестр пакетов (OSV) |
| red hat:golang | 0:1.17.12-1.module+el8.6.0+16014+a372c00b · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-bin | 0:1.17.12-1.module+el8.6.0+16014+a372c00b · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-docs | 0:1.17.12-1.module+el8.6.0+16014+a372c00b · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-misc | 0:1.17.12-1.module+el8.6.0+16014+a372c00b · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-race | 0:1.17.12-1.module+el8.6.0+16014+a372c00b · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:golang-src | 0:1.17.12-1.module+el8.6.0+16014+a372c00b · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
+16
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
- Go Security Team
- Juho NurminenMattermost
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-674 · Uncontrolled RecursionВектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- go.dev/cl/417062
- go.dev/issue/53614
- go.googlesource.com/go/+/08c46ed43d80bbb67cb904944ea3417989be4af3
- groups.google.com/g/golang-announce/c/nqrv9fbR0zE
- pkg.go.dev/vuln/GO-2022-0521
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.