CVE-2026-40182OpenTelemetry dotnet在1.13.1至1.15.2版本之前存在内存耗尽漏洞。当使用gRPC或HTTP以OTLP格式导出遥测数据时,若请求失败(如返回4xx或5xx状态码),系统会将响应体无限制地读入内存。若后端受攻击者控制或遭遇中间人攻击,攻击者可发送超大响应导致应用内存耗尽,引发拒绝服务。
该漏洞的核心问题在于OpenTelemetry dotnet SDK在处理导出请求失败响应时,缺乏对响应体大小的有效限制。当应用程序配置了OTLP导出器(通过gRPC或HTTP)向Collector发送遥测数据时,如果Collector返回非成功状态码(例如HTTP 500),SDK会尝试读取响应内容以辅助调试。然而,代码逻辑中没有设置读取缓冲区的最大阈值。因此,在攻击者能够控制后端服务器(例如通过供应链投毒)或能够进行中间人攻击(MitM)的场景下,攻击者可以构造一个包含巨大数据量的恶意响应。当受害者的应用程序尝试接收并处理该响应时,会无限制地分配内存,直至系统内存耗尽,导致应用程序崩溃或系统响应停滞。