OpenTelemetry-Go Contrib has DoS vulnerability in otelhttp due to unbound cardinality metrics
OpenTelemetry-Go Contrib is a collection of third-party packages for OpenTelemetry-Go. A handler wrapper out of the box adds labels `http.user_agent` and `http.method` that have unbound cardinality. It leads to the server's potential memory exhaustion when many malicious requests are sent to it. HTTP header User-Agent or HTTP method for requests can be easily set by an attacker to be random and long. The library internally uses `httpconv.ServerRequest` that records every value for HTTP `method` and `User-Agent`. In order to be affected, a program has to use the `otelhttp.NewHandler` wrapper and not filter any unknown HTTP methods or User agents on the level of CDN, LB, previous middleware, etc. Version 0.44.0 fixed this issue when the values collected for attribute `http.request.method` were changed to be restricted to a set of well-known values and other high cardinality attributes were removed. As a workaround to stop being affected, `otelhttp.WithFilter()` can be used, but it requires manual careful configuration to not log certain requests entirely. For convenience and safe usage of this library, it should by default mark with the label `unknown` non-standard HTTP methods and User agents to show that such requests were made but do not increase cardinality. In case someone wants to stay with the current behavior, library API should allow to enable it.
- BDU:2023-07911
- GHSA-5r5m-65gx-7vrh
- GHSA-cg3q-j54f-5p7p
- GHSA-rcjv-mgp8-qvmr
- GO-2022-0322
- GO-2023-1546
- GO-2023-2113
- openSUSE-SU-2024:0211-1
- openSUSE-SU-2024:0220-1
- openSUSE-SU-2024:13360-1
- openSUSE-SU-2024:13495-1
- openSUSE-SU-2024:14232-1
- openSUSE-SU-2024:14320-1
- openSUSE-SU-2024:14321-1
- RHSA-2024:4118
- SUSE-SU-2024:3188-1
- SUSE-SU-2024:3221-1
- SUSE-SU-2024:3266-1
- SUSE-SU-2024:3267-1
- SUSE-SU-2024:3288-1
- Опубликовано
- 12 окт. 2023 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 1,4 % · 71-й процентиль
- CWE
- CWE-770
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
30
Наблюдать
Пока низкий приоритет.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 1,4 %
Оценка CNA и NVD
- NVD
- 7,5
- CNA · GitHub_M
- 7,5
- совпадают
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| opentelemetry | opentelemetry | cpe:2.3:a:opentelemetry:opentelemetry |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- opentelemetry opentelemetryдо 0.44.0
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
open-telemetry opentelemetry-go-contrib
- < 0.44.0затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Go | github.com/prometheus/client_golang | до 1.11.1 | 1.11.1 |
| Go | go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego | с 0.38.0 · до 0.39.0 | 0.39.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful | до 0.44.0 | 0.44.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin | до 0.44.0 | 0.44.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux | до 0.44.0 | 0.44.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho | до 0.44.0 | 0.44.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron | до 0.44.0 | 0.44.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace | до 0.44.0 | 0.44.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | с 0.38.0 · до 0.39.0 | 0.39.0 |
| Go | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | до 0.44.0 | 0.44.0 |
| openSUSE:Tumbleweed | caddy | до 2.7.6-1.1 | 2.7.6-1.1 |
| openSUSE:Tumbleweed | containerd | до 1.7.21-1.1 | 1.7.21-1.1 |
| openSUSE:Tumbleweed | docker | до 26.1.5_ce-2.1 | 26.1.5_ce-2.1 |
| openSUSE:Tumbleweed | golang-github-prometheus-prometheus | до 2.53.0-3.1 | 2.53.0-3.1 |
| openSUSE:Tumbleweed | teleport | до 14.1.1-1.1 | 14.1.1-1.1 |
| Red Hat:ceph_storage:5.3::el8 | ceph | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-ansible | до 0:6.0.28.8-1.el8cp | 0:6.0.28.8-1.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-base | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-base-debuginfo | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-common | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-common-debuginfo | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-debugsource | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-fuse | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
| Red Hat:ceph_storage:5.3::el8 | ceph-fuse-debuginfo | до 2:16.2.10-266.el8cp | 2:16.2.10-266.el8cp |
+96
Тот же продукт
opentelemetry: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-29181OpenTelemetry-Go multi-value `baggage` header extraction causes excessive allocations (remote dos amplification)30Наблюдать
- CVE-2023-47108DoS vulnerability in otelgrpc (uncontrolled resource consumption) due to unbound cardinality metrics30Наблюдать
- CVE-2023-43810opentelemetry-instrumentation Denial of Service vulnerability due to unbound cardinality metrics30Наблюдать
- CVE-2026-39883OpenTelemetry-Go has an incomplete fix for CVE-2026-24051: BSD kenv command not using absolute path enables PATH hijacking29Наблюдать
- CVE-2026-24051OpenTelemetry-Go Affected by Arbitrary Code Execution via PATH Hijacking28Наблюдать
- CVE-2026-41078OpenTelemetry dotnet: Potential memory exhaustion via unbounded pooled-list sizing in Jaeger exporter conversion path23Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Go:github.com/prometheus/client_golang | 1.11.1 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego | 0.39.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful | 0.44.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin | 0.44.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux | 0.44.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho | 0.44.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron | 0.44.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace | 0.44.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | 0.39.0 | Реестр пакетов (OSV) |
| Go:go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | 0.44.0 | Реестр пакетов (OSV) |
| opensuse:caddy | 2.8.4-bp155.2.3.1 · openSUSE:Leap 15.5 | Реестр пакетов (OSV) |
| opensuse:containerd | 1.7.21-150000.117.1 · openSUSE:Leap Micro 5.5 | Реестр пакетов (OSV) |
| opensuse:docker | 26.1.5_ce-150000.212.1 · openSUSE:Leap Micro 5.5 | Реестр пакетов (OSV) |
| opensuse:golang-github-prometheus-prometheus | 2.45.6-150100.4.20.1 · openSUSE:Leap 15.5 | Реестр пакетов (OSV) |
| opensuse:spacecmd | 5.0.9-150000.3.124.1 · openSUSE:Leap 15.5 | Реестр пакетов (OSV) |
| red hat:ceph | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-base | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-base-debuginfo | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-common | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-common-debuginfo | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-debugsource | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-fuse-debuginfo | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-grafana-dashboards | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-immutable-object-cache-debuginfo | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-mds-debuginfo | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-mgr | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| red hat:ceph-mgr-cephadm | 2:16.2.10-266.el8cp · Red Hat:ceph_storage:5.3::el8 | Реестр пакетов (OSV) |
| suse:caddy | 2.8.4-bp155.2.3.1 · SUSE:Package Hub 15 SP5 | Реестр пакетов (OSV) |
| suse:containerd | 1.7.21-150000.117.1 · SUSE:Linux Enterprise Micro 5.3 | Реестр пакетов (OSV) |
| suse:containerd | 1.7.21-16.94.1 · SUSE:Linux Enterprise Module for Containers 12 | Реестр пакетов (OSV) |
+10
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2023-47108с разницей 29 дн.DoS vulnerability in otelgrpc (uncontrolled resource consumption) due to unbound cardinality metrics30Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-770 · Allocation of Resources Without Limits or ThrottlingВектор 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)
- FloodingCAPEC-125вероятность: High · Medium
- Excessive AllocationCAPEC-130вероятность: Medium · Medium
- XML Ping of the DeathCAPEC-147вероятность: Low · Medium
- Exponential Data ExpansionCAPEC-197вероятность: High · Medium
- Serialized Data Parameter BlowupCAPEC-229вероятность: High · High
- Serialized Data with Nested PayloadsCAPEC-230вероятность: Medium · High
- Oversized Serialized Data PayloadsCAPEC-231вероятность: Medium · High
- HTTP DoSCAPEC-469Low
Техники ATT&CK
- Network Denial of Service:Direct Network FloodT1498.001
- Network Denial of Service:Reflection AmplificationT1498.002
- Endpoint Denial of ServiceT1499
- Endpoint Denial of Service: OS Exhaustion FloodT1499.001
- Endpoint Denial of Service:Service Exhaustion FloodT1499.002
- Endpoint Denial of Service:Application Exhaustion FloodT1499.003
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- github.com/advisories/GHSA-cg3q-j54f-5p7p
- github.com/open-telemetry/opentelemetry-go-contrib/blob/5f7e6ad5a49b45df45f61a1deb29d7f1158032df/instrumentation/net/http/otelhttp/handler.go#L63-L65
- github.com/open-telemetry/opentelemetry-go-contrib/pull/4277
- github.com/open-telemetry/opentelemetry-go-contrib/releases/tag/v1.19.0
- github.com/open-telemetry/opentelemetry-go-contrib/security/advisories/GHSA-5r5m-65gx-7vrh
- github.com/open-telemetry/opentelemetry-go-contrib/security/advisories/GHSA-rcjv-mgp8-qvmr
- github.com/open-telemetry/opentelemetry-go/blob/38e1b499c3da3107694ad2660b3888eee9c8b896/semconv/internal/v2/http.go#L223
- github.com/open-telemetry/opentelemetry-go/blob/v1.12.0/semconv/internal/v2/http.go#L159
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2UTRJ54INZG3OC2FTAN6AFB2RYNY2GAD/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.