Skip to content

grpc: enforce strict path checking for incoming requests on the server#8985

Merged
easwars merged 1 commit intogrpc:masterfrom
easwars:advisory
Mar 17, 2026
Merged

grpc: enforce strict path checking for incoming requests on the server#8985
easwars merged 1 commit intogrpc:masterfrom
easwars:advisory

Conversation

@easwars
Copy link
Copy Markdown
Contributor

@easwars easwars commented Mar 17, 2026

RELEASE NOTES:

  • server: fix an authorization bypass where malformed :path headers (missing the leading slash) could bypass path-based restricted "deny" rules in interceptors like grpc/authz. Any request with a non-canonical path is now immediately rejected with an Unimplemented error.

grpc#8981)

RELEASE NOTES:
* server: fix an authorization bypass where malformed :path headers
(missing the leading slash) could bypass path-based restricted "deny"
rules in interceptors like `grpc/authz`. Any request with a
non-canonical path is now immediately rejected with an `Unimplemented`
error.
@easwars easwars requested a review from dfawley March 17, 2026 23:28
@easwars easwars added the Type: Security A bug or other problem affecting security label Mar 17, 2026
@easwars easwars added this to the 1.80 Release milestone Mar 17, 2026
@easwars easwars enabled auto-merge (squash) March 17, 2026 23:31
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 17, 2026

Codecov Report

❌ Patch coverage is 61.53846% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 82.94%. Comparing base (d0d7cab) to head (edbf788).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
server.go 61.53% 7 Missing and 3 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8985      +/-   ##
==========================================
- Coverage   83.02%   82.94%   -0.08%     
==========================================
  Files         411      411              
  Lines       32719    32733      +14     
==========================================
- Hits        27164    27151      -13     
- Misses       4165     4183      +18     
- Partials     1390     1399       +9     
Files with missing lines Coverage Δ
internal/envconfig/envconfig.go 100.00% <ø> (ø)
server.go 82.48% <61.53%> (-0.16%) ⬇️

... and 22 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@easwars easwars merged commit 58bbf8a into grpc:master Mar 17, 2026
14 of 16 checks passed
@arjan-bal
Copy link
Copy Markdown
Contributor

@easwars we would also need to cherry-pick this change to the v1.80.x branch.

@easwars
Copy link
Copy Markdown
Contributor Author

easwars commented Mar 18, 2026

@easwars we would also need to cherry-pick this change to the v1.80.x branch.

Yes. I'm working on it as I'm typing this.

easwars added a commit to easwars/grpc-go that referenced this pull request Mar 18, 2026
grpc#8985)

RELEASE NOTES:
* server: fix an authorization bypass where malformed :path headers
(missing the leading slash) could bypass path-based restricted "deny"
rules in interceptors like `grpc/authz`. Any request with a
non-canonical path is now immediately rejected with an `Unimplemented`
error.
@@ -103,6 +103,22 @@ var (
// environment variable "GRPC_GO_EXPERIMENTAL_XDS_RESOURCE_PANIC_RECOVERY"
// to "false".
XDSRecoverPanicInResourceParsing = boolFromEnv("GRPC_GO_EXPERIMENTAL_XDS_RESOURCE_PANIC_RECOVERY", true)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No sé qué hacer

@glaubitz
Copy link
Copy Markdown

Is this the complete fix for CVE-2026-33186?

@easwars
Copy link
Copy Markdown
Contributor Author

easwars commented Mar 23, 2026

Is this the complete fix for CVE-2026-33186?

Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Security A bug or other problem affecting security

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants