CVE-2026-39882OpenTelemetry-Go是OpenTelemetry的Go语言实现。在1.43.0版本之前,其OTLP HTTP导出器(包括traces、metrics和logs)在处理HTTP响应时,会将完整的响应体读取到内存中的bytes.Buffer中,且未设置大小限制。如果配置的收集器端点由攻击者控制,或者网络攻击者能够拦截导出器连接(MITM),攻击者可以利用此漏洞发送巨大的响应包,导致目标系统内存耗尽,从而引发拒绝服务攻击。该漏洞在1.43.0版本中已得到修复。
该漏洞源于OpenTelemetry-Go中OTLP HTTP导出器的实现缺陷。当导出器向配置的Collector端点发送遥测数据后,会读取并解析返回的HTTP响应。在受影响的版本中,代码直接将整个响应体读取到内存缓冲区,而未对响应体的大小进行任何限制或校验。
攻击向量为“邻接”(AV:A),意味着攻击者需要处于能够控制Collector端点或进行中间人攻击的位置。由于认证要求为“无”(PR:N),攻击者无需身份验证即可发起攻击。攻击者只需向受害者发送一个包含超大数据体的HTTP响应,受害者应用程序便会尝试分配足够的内存来存储该数据,直至内存耗尽(OOM),导致服务崩溃或不可用。此漏洞主要影响可用性(A:H),对机密性和完整性无直接影响。