漏洞描述
opentelemetry-go 是一个用 Go 开发的 OpenTelemetry 的 API 和 SDK,opentelemetry-go-contrib 是 OpenTelemetry-Go 的扩展集合。
opentelemetry-go-contrib 0.38.0版本中,由于 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp 使用 httpconv.ServerRequest 函数为 http.server.request_content_length, http.server.response_content_length 和 http.server.duration 检测(instruments)注释指标(Metrics)测量值,由于该函数将 http.target 属性值设置为整个请求 URI(包括查询字符串),检测不会清除之前的测量属性,如果接收的查询字符串始终是随机的,这将导致内存分配不断增加,攻击者可利用此漏洞构造包含大量随机字符串的恶意请求进行拒绝服务攻击。
漏洞名称 | opentelemetry-go-contrib v0.38.0 存在拒绝服务漏洞 |
---|---|
漏洞类型 | 拒绝服务 |
发现时间 | 2023-02-09 |
漏洞影响广度 | 极小 |
MPS编号 | MPS-2023-3767 |
CVE编号 | CVE-2023-25151 |
CNVD编号 | - |
影响范围
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@[0.38.0, 0.39.0)
go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego@[0.38.0, 0.39.0)
修复方案
将组件 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp 升级至 0.39.0 及以上版本
将组件 go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego 升级至 0.39.0 及以上版本
参考链接
https://www.oscs1024.com/hd/MPS-2023-3767
https://nvd.nist.gov/vuln/detail/CVE-2023-25151
https://github.com/open-telemetry/opentelemetry-go-contrib/security/advisories/GHSA-5r5m-65gx-7vrh
https://github.com/open-telemetry/opentelemetry-go/blob/v1.12.0/semconv/internal/v2/http.go#L159
免费情报订阅&代码安全检测
OSCS是国内首个开源软件供应链安全社区,社区联合开发者帮助全球*开源项目解决安全问题,并提供实时的安全漏洞情报,同时提供专业的代码安全检测工具为开发者免费使用。社区开发者可以通过配置飞书、钉钉、企业微信机器人获取一手的情报。
免费代码安全检测工具: https://www.murphysec.com/?src=osc
免费情报订阅: https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc