Highlights
Auth Bypass: 4 prior fixes. Scrutinize any change in this area.
access-control/src/main/java/org/archive/accesscontrol/model/Rule.java: most-fixed (3 issues). Treat as high-risk during review.
4 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Auth Bypass: Flawed logic inside the Rule class, such as using identity comparison (==) instead of content comparison (.equals) or incorrectly matching prefixes via startsWith when exact matches are required, directly leads to authorization bypasses. This component contains the bulk of historical access control vulnerabilities.
Auth Bypass: Prioritization logic errors in rule matching allow broad, public rules to overshadow restrictive, group-specific rules. If the evaluation order or priority algorithm fails, unauthorized actors can inherit wider privileges than intended.
Auth Bypass: Inconsistent handling of wildcards and blank strings in the UI vs. backend evaluations can prevent restrictive rules from matching, defaulting to unsafe access states. Specifically, blank groups must be consistently normalized to null/wildcard equivalents.