dd-trace-rs обеспечивает мониторинг производительности приложений Datadog для Rust. С 0.1.0 по 0.3.3 datadog-opentelemetry/src/propagation/tracecontext.rs анализирует заголовок трассировки W3C и собирает каждую пару ключей и значений, разделенных точкой с запятой, в записи поставщика Datadog dd=... в HashMap без принудительного ограничения количества пар или размера записи. Поскольку извлечение трассировки контекста включено по умолчанию, удаленный злоумышленник, не прошедший проверку подлинности, может отправить сколь угодно большую запись dd=... и вызвать чрезмерное потребление ЦП и памяти для каждого запроса, что приведет к отказу в обслуживании инструментированной сетевой службы.
Эта уязвимость исправлена в версии 0.3.3.
Показать оригинальное описание (EN)
dd-trace-rs provides Datadog application performance monitoring for Rust. From 0.1.0 until 0.3.3, datadog-opentelemetry/src/propagation/tracecontext.rs parses the W3C tracestate header and collects every semicolon-separated key and value pair in the Datadog dd=... vendor entry into a HashMap without enforcing a pair count or entry size limit. Because tracecontext extraction is enabled by default, a remote unauthenticated attacker can send an arbitrarily large dd=... entry and force excessive CPU and memory consumption for each request, causing denial of service in an instrumented network service. This vulnerability is fixed in 0.3.3.
Характеристики атаки
Последствия
Строка CVSS v3.1