fix: Pre-authentication denial of service via client version header regex backtracking (GHSA-38m6-82c8-4xfm)#10463
Conversation
|
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. Tip
Note Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect. Caution Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. Our CI and AI review are safeguards, not development tools. If many issues are flagged, rethink your development approach. Invest more effort in planning and design rather than using review cycles to fix low-quality code. |
📝 WalkthroughWalkthroughThis PR removes end-to-end client version and SDK parsing by deleting the ClientSDK module, stopping middleware extraction of version headers/body fields, removing clientSDK parameter forwarding through REST and GraphQL layers, and changing delete-operation response handling to be unconditional rather than capability-gated. ChangesClientSDK version parsing removal
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@spec/vulnerabilities.spec.js`:
- Around line 5950-5970: The two tests that measure elapsedMs around
middlewares.handleParseHeaders (the "X-Parse-Client-Version" and
"_ClientVersion" adversarial cases using buildFakeReq) use strict absolute caps
(<100ms and <500ms) that can cause CI flakiness; relax these assertions to more
tolerant thresholds (for example change the first to
expect(elapsedMs).toBeLessThan(250) and the second to
expect(elapsedMs).toBeLessThan(1000) or use toBeLessThanOrEqual) so the tests
still enforce performance bounds but won’t fail on slower runners.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 991e2e7b-6d4b-44b9-9010-ebe4468e96f8
📒 Files selected for processing (18)
spec/ClientSDK.spec.jsspec/Middlewares.spec.jsspec/vulnerabilities.spec.jssrc/ClientSDK.jssrc/GraphQL/helpers/objectsMutations.jssrc/GraphQL/helpers/objectsQueries.jssrc/GraphQL/loaders/usersQueries.jssrc/RestQuery.jssrc/RestWrite.jssrc/Routers/AggregateRouter.jssrc/Routers/AudiencesRouter.jssrc/Routers/ClassesRouter.jssrc/Routers/IAPValidationRouter.jssrc/Routers/InstallationsRouter.jssrc/Routers/SessionsRouter.jssrc/Routers/UsersRouter.jssrc/middlewares.jssrc/rest.js
💤 Files with no reviewable changes (11)
- src/ClientSDK.js
- spec/ClientSDK.spec.js
- src/Routers/InstallationsRouter.js
- src/Routers/SessionsRouter.js
- src/Routers/AggregateRouter.js
- src/Routers/AudiencesRouter.js
- src/GraphQL/loaders/usersQueries.js
- spec/Middlewares.spec.js
- src/Routers/ClassesRouter.js
- src/Routers/IAPValidationRouter.js
- src/Routers/UsersRouter.js
|
@coderabbitai review your feedback conversations and resolve where you found a consensus |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chainLet me fetch all the review conversations on this PR to identify which ones have reached consensus. 🏁 Script executed: Length of output: 39327 I found one review thread where consensus was reached — the timing cap discussion on 🏁 Script executed: Length of output: 12775
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## alpha #10463 +/- ##
==========================================
- Coverage 92.58% 92.58% -0.01%
==========================================
Files 194 193 -1
Lines 16901 16874 -27
Branches 234 234
==========================================
- Hits 15648 15623 -25
+ Misses 1230 1228 -2
Partials 23 23 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
## [9.9.1-alpha.1](9.9.0...9.9.1-alpha.1) (2026-05-17) ### Bug Fixes * Pre-authentication denial of service via client version header regex backtracking ([GHSA-38m6-82c8-4xfm](GHSA-38m6-82c8-4xfm)) ([#10463](#10463)) ([56c159e](56c159e))
|
🎉 This change has been released in version 9.9.1-alpha.1 |
Issue
Pre-authentication denial of service via client version header regex backtracking (GHSA-38m6-82c8-4xfm)
Tasks