Skip to content

Commit

Permalink
VAULT-3825: Wildcard ACL policies without a trailing slash should mat…
Browse files Browse the repository at this point in the history
…ch LIST operations (#23874)

* allow lists to match without trailing slash

* changelog
  • Loading branch information
miagilepner committed Oct 27, 2023
1 parent 40e9fcd commit fb97a45
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
3 changes: 3 additions & 0 deletions changelog/23874.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
core: fix policies with wildcards not matching list operations due to the policy path not having a trailing slash
```
10 changes: 10 additions & 0 deletions vault/acl.go
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,16 @@ func (a *ACL) AllowOperation(ctx context.Context, req *logical.Request, capCheck
}
}

// List operations need to check without the trailing slash first, because
// there could be other rules with trailing wildcards that will match the
// path
if op == logical.ListOperation && strings.HasSuffix(path, "/") {
permissions = a.CheckAllowedFromNonExactPaths(strings.TrimSuffix(path, "/"), false)
if permissions != nil {
capabilities = permissions.CapabilitiesBitmap
goto CHECK
}
}
permissions = a.CheckAllowedFromNonExactPaths(path, false)
if permissions != nil {
capabilities = permissions.CapabilitiesBitmap
Expand Down

0 comments on commit fb97a45

Please sign in to comment.