CVE-2026-41310OpenTelemetry .NET Zipkin 导出器在 1.15.2 及之前版本中存在安全漏洞。该漏洞源于远程端点缓存机制允许无限制的键增长。在高基数的攻击场景下,如果应用程序持续处理包含唯一远程端点值的 Span,攻击者可利用此缺陷导致进程内存随时间显著增加,最终引发内存耗尽,从而降低系统可用性。
该漏洞的根源在于 OpenTelemetry.Exporter.Zipkin 组件的远程端点缓存实现未设置大小上限。在 OpenTelemetry 的 .NET 实现中,Zipkin 导出器负责将追踪数据发送至 Zipkin 后端,为了优化性能,它会缓存远程服务端点的信息。然而,受影响的版本使用了无界缓存,这意味着每遇到一个新的远程端点组合(通常源自 Span 的属性,如 Service Name 或 IP),系统就会在内存中分配新的存储空间且不释放旧数据。攻击者可以通过向受监控的应用程序发送大量包含随机或唯一属性值(如随机生成的 User-Agent、请求 ID 或自定义 Header)的 HTTP 请求来触发此漏洞。由于每个唯一的属性组合都会生成一个新的缓存键,系统内存会被迅速消耗,导致严重的 GC 压力甚至 OutOfMemoryException 崩溃,从而实现拒绝服务攻击。