-
Notifications
You must be signed in to change notification settings - Fork 1
chore: update module go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho to v0.44.0 [security] #73
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
base: main
Are you sure you want to change the base?
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ Deploy Preview for reearth-classic canceled.
|
d3c0b07 to
d4fd0b2
Compare
d4fd0b2 to
582ced6
Compare
5a3a523 to
202f4a5
Compare
6329ad9 to
ba21f73
Compare
ba21f73 to
67542c3
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #73 +/- ##
==========================================
- Coverage 23.80% 23.79% -0.01%
==========================================
Files 1587 1588 +1
Lines 170092 170141 +49
Branches 2801 2801
==========================================
Hits 40486 40486
- Misses 128439 128488 +49
Partials 1167 1167
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
67542c3 to
4a521eb
Compare
4a521eb to
b4d41f7
Compare
…ub.com/labstack/echo/otelecho to v0.44.0 [security]
b4d41f7 to
2536657
Compare
This PR contains the following updates:
v0.32.0→v0.44.0GitHub 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_agenthttp.methodthat 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
unknownnon-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.WithMeterProvideroption 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.methodwere changed to be restricted to a set of well-known values and other high cardinality attributes were removed.References
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, 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.