-
Notifications
You must be signed in to change notification settings - Fork 1
chore: update module github.com/gorilla/schema to v1.4.1 [security] #70
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.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #70 +/- ##
==========================================
- 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:
|
e07fa68 to
d9cc61b
Compare
d9cc61b to
946a9c5
Compare
3b25c8c to
fd0672b
Compare
70fb865 to
8d83490
Compare
fb85d6f to
21b07db
Compare
21b07db to
ff41ae1
Compare
ff41ae1 to
93e3a51
Compare
This PR contains the following updates:
v1.2.0→v1.4.1GitHub Vulnerability Alerts
CVE-2024-37298
Details
Running
schema.Decoder.Decode()on a struct that has a field of type[]struct{...}opens it up to malicious attacks regarding memory allocations, taking advantage of the sparse slice functionality. For instance, in the Proof of Concept written below, someone can specify to set a field of the billionth element and it will allocate all other elements before it in the slice.In the local environment environment for my project, I was able to call an endpoint like
/innocent_endpoint?arr.10000000.X=1and freeze my system from the memory allocation while parsingr.Form. I think this line is responsible for allocating the slice, although I haven't tested to make sure, so it's just an educated guess.Proof of Concept
The following proof of concept works on both v1.2.0 and v1.2.1. I have not tested earlier versions.
Impact
Any use of
schema.Decoder.Decode()on a struct with arrays of other structs could be vulnerable to this memory exhaustion vulnerability. There seems to be no possible solution that a developer using this library can do to disable this behaviour without fixing it in this project, so all uses of Decode that fall under this umbrella are affected. A fix that doesn't require a major change may also be harder to find, since it could break compatibility with some other intended use-cases.Release Notes
gorilla/schema (github.com/gorilla/schema)
v1.4.1Compare Source
Security Release
Fixes an issue where sparse slice deserialization can cause memory exhaustion CVE-2024-37298
Thanks to @AlexVasiluta for the report and following responsible disclosure.
Full Changelog: gorilla/schema@v1.4.0...v1.4.1
v1.4.0Compare Source
What's Changed
New Contributors
Full Changelog: gorilla/schema@v1.3.0...v1.3.1
v1.3.0Compare Source
What's Changed
New Contributors
Full Changelog: gorilla/schema@v1.2.1...v1.3.0
v1.2.1Compare Source
What's Changed
New Contributors
Full Changelog: gorilla/schema@v1.2.0...v1.2.1
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.