You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
authored
xds: ensure full-string matching for RBAC Filter rules (#9148)
**Summary**
This PR fixes a regression introduced in #9134 where xDS SafeRegexMatch
configurations were performing partial matches instead of the
full-string matches as earlier in RBAC.
**Root cause**
PullRequest #9134 removed grpcutil.FullMatchWithRegex in favor of
regexp.MatchString. In Go, MatchString performs a partial match unless
the regex is explicitly anchored with ^ and $.
While #9134 introduced a CompileSafeRegex helper to add these anchors.
This caused authorization policies and mutation rules to accept requests
that only partially matched the defined regex (e.g., a rule for
match-principal would incorrectly match a request with
never-match-principal).
**Changes**
* RBAC: Updated internal/xds/rbac/matchers.go to use
internalmatcher.CompileSafeRegex for SafeRegexMatch configurations.
**Issue identification**
The regression was caught by psm-interop tests where an RBAC DENY rule
was bypassed due to a partial match in an preceding ALLOW rule. RBAC
test started failing continuously after May 20 (Commit time)
RELEASE NOTES: none
---------
Co-authored-by: Arjan Singh Bal <46515553+arjan-bal@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Arjan Bal <arjansbal@google.com>
0 commit comments