-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.44.0 [security] (master) #135
base: master
Are you sure you want to change the base?
Conversation
…n/net/http/otelhttp to v0.44.0 [security]
|
To fix the error in #135 (comment), needs to update the
|
This PR contains the following updates:
v0.20.0
->v0.44.0
GitHub Vulnerability Alerts
CVE-2023-45142
Summary
This handler wrapper https://github.com/open-telemetry/opentelemetry-go-contrib/blob/5f7e6ad5a49b45df45f61a1deb29d7f1158032df/instrumentation/net/http/otelhttp/handler.go#L63-L65
out of the box adds labels
http.user_agent
http.method
that have unbound cardinality. It leads to the server's potential memory exhaustion when many malicious requests are sent to it.
Details
HTTP header User-Agent or HTTP method for requests can be easily set by an attacker to be random and long. The library internally uses httpconv.ServerRequest that records every value for HTTP method and User-Agent.
PoC
Send many requests with long randomly generated HTTP methods or/and User agents (e.g. a million) and observe how memory consumption increases during it.
Impact
In order to be affected, the program has to configure a metrics pipeline, use otelhttp.NewHandler wrapper, and does not filter any unknown HTTP methods or User agents on the level of CDN, LB, previous middleware, etc.
Others
It is similar to already reported vulnerabilities
Workaround for affected versions
As a workaround to stop being affected otelhttp.WithFilter() can be used, but it requires manual careful configuration to not log certain requests entirely.
For convenience and safe usage of this library, it should by default mark with the label
unknown
non-standard HTTP methods and User agents to show that such requests were made but do not increase cardinality. In case someone wants to stay with the current behavior, library API should allow to enable it.The other possibility is to disable HTTP metrics instrumentation by passing
otelhttp.WithMeterProvider
option withnoop.NewMeterProvider
.Solution provided by upgrading
In PR https://github.com/open-telemetry/opentelemetry-go-contrib/pull/4277, released with package version 0.44.0, the values collected for attribute
http.request.method
were changed to be restricted to a set of well-known values and other high cardinality attributes were removed.References
Release Notes
open-telemetry/opentelemetry-go-contrib (go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp)
v0.24.0
Compare Source
0.24.0 - 2021-09-21
Update dependency on the
go.opentelemetry.io/otel
project tov1.0.0
.v0.23.0
Compare Source
0.23.0 - 2021-09-09
Added
WithoutSubSpans
,WithRedactedHeaders
,WithoutHeaders
, andWithInsecureHeaders
options forotelhttptrace.NewClientTrace
. (#879)Changed
go.opentelemetry.io/contrib/propagators
module intob3
,jaeger
,ot
modules. (#985)otelmongodb
span attributes, name and span status now conform to specification. (#769)go.opentelemetry.io/contrib/detectors/aws
to a separate EC2 resource detector modulego.opentelemetry.io/contrib/detectors/aws/ec2
(#1017)cloud.provider
andcloud.platform
to AWS detectors. (#1043)otelhttptrace.NewClientTrace
now redacts known sensitive headers by default. (#879)Fixed
otelhttp.Transport
whenRoundTrip
fails with an error. (#950)v0.22.0
Compare Source
Added
zpages
span processor. (#894)Changed
b3.B3
type has been removed.b3.New()
andb3.WithInjectEncoding(encoding)
are added to replace it. (#868)Fixed
otelsarama.WrapAsyncProducer
.The
messaging.message_id
andmessaging.kafka.partition
attributes are now not set if a message was not processed. (#754) (#755) (#881)otelsarama.WrapAsyncProducer
so that the messages from theErrors
channel contain the originalMetadata
. (#754)v0.21.0
Compare Source
0.21.0 - 2021-06-18
Fixed
otelgin
andotelmacaron
. (#767)Changed
Removed
otelmongodb
configuration and span attributes. (#763)Configuration
📅 Schedule: Branch creation - "" in timezone Asia/Taipei, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.