Bug 2168999 (CVE-2023-25151) - CVE-2023-25151 opentelemetry-go: DoS vulnerability for high cardinality metrics in otelhttp and otelbeego
Summary: CVE-2023-25151 opentelemetry-go: DoS vulnerability for high cardinality metri...
Keywords:
Status: NEW
Alias: CVE-2023-25151
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Nobody
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 2168432
TreeView+ depends on / blocked
 
Reported: 2023-02-10 23:35 UTC by Anten Skrabec
Modified: 2023-08-03 08:30 UTC (History)
54 users (show)

Fixed In Version: opentelemetry-go 0.39.0
Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in opentelemetry-go. The v0.38.0 release of go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp uses the httpconv.ServerRequest function to annotate metric measurements for the http.server.request_content_length, http.server.response_content_length, and http.server.duration instruments. The ServerRequest function sets the http.target attribute value as the whole request URI, including the query string. The metric instruments do not forget previous measurement attributes when cumulative temporality is used, this means the cardinality of the measurements allocated is directly correlated with the unique URIs handled. If the query string is always random, this will result in a constant increase in memory allocation that can be used in a denial of service attack.
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description Anten Skrabec 2023-02-10 23:35:33 UTC
The ServerRequest function sets the http.target attribute value to be the whole request URI (including the query string)1. The metric instruments do not "forget" previous measurement attributes when cumulative temporality is used, this means the cardinality of the measurements allocated is directly correlated with the unique URIs handled. If the query string is constantly random, this will result in a constant increase in memory allocation that can be used in a denial-of-service attack.


Note You need to log in before you can comment on or make changes to this bug.