Conversation
0f6d3ca to
ccac500
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ccac500413
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # The OIDC HTTPServer is started with `scheme: :http` and no protocol_options enabling h2c | ||
| # (lib/secrethub/application.ex openid_connect_services/0) - Cowboy serves HTTP/1.1 only here, | ||
| # so the HTTP/2-specific :scheme pseudo-header parsing path is never invoked. | ||
| GHSA-q8x4-x7mp-5vg2 |
There was a problem hiding this comment.
Do not suppress the h2c advisory while h2c remains enabled
For clients able to reach the pod or its ClusterIP directly, this allowlist hides a reachable unauthenticated DoS: scheme: :http selects a cleartext transport but does not make Cowboy HTTP/1.1-only, because clear listeners accept HTTP/2 prior knowledge/h2c by default. I checked Secrethub.Application.openid_connect_services/0, which supplies only options: [port: port], and the Helm service exposes that listener without configuring protocol_options: [protocols: [:http]]; therefore crafted HTTP/2 :scheme values can still reach the vulnerable plug_cowboy 2.5.2 path. Upgrade plug_cowboy or explicitly disable HTTP/2 before ignoring this advisory.
Useful? React with 👍 / 👎.
|
Four notes. The 1. Today both routes share one queue, Could you add the cutover steps to the PR description — drain, then unbind and delete the old exchange/queue trio post-deploy? The code change is right; it just isn't self-sufficient. 2. The justification comment is factually wrong and will mislead the next reader. The comment says "Without 3. The new test cannot fail.
4. The h2c suppression premise is inverted.
The tainted value does reach the vulnerable code unvalidated: In fairness on blast radius, and this is not in the file either: Either way the fix is one line: Also worth noting: this service still locks cowboy 2.9.0, cowlib 2.11.0, plug 1.13.6 and plug_cowboy 2.5.2, and |
f327784 to
f887a03
Compare
f887a03 to
3158756
Compare
065ba3d to
40b4ac1
Compare
…revent org/project delete misrouting under tackle v0.4.1 OwnerDeletedConsumer has two routes with the same routing key "deleted" on different exchanges (project_exchange, organization_exchange). ex-tackle >= v0.2.2 made service_per_exchange opt-in and default false, so both routes derive the same queue name and end up as competing consumers on one queue, misrouting org-delete and project-delete secret-cleanup events. This bump to tackle v0.4.1 exposes the bug. Sets service_per_exchange: true so each route gets its own queue, mirroring the identical fix on ee/pre_flight_checks. Also adds tests proving the two routes now resolve to distinct queue names, and that they would collide without the flag.
40b4ac1 to
47deb5b
Compare
No description provided.