mirror of
https://github.com/pgsty/minio.git
synced 2026-08-09 15:53:28 +03:00
fix(iam): bind policy conditions to effective request values
Policy evaluation mixed server-derived identity and transport values with raw headers and query parameters. A client could therefore shadow internal condition keys, synthesize LDAP or JWT resource variables, substitute request tags for stored tags, or make a condition observe a value different from the one the handler actually used. Partition condition sources, reserve internal names, adopt exact-name lookup from silo-pkg, and bind authorization to the effective request state. Preserve compatible query forms for storage class and upload tags with explicit header precedence, while restricting signature age and existing-object tags to authenticated or server-resolved values. Tests sweep every supported key across header and query routes and exercise LDAP/OIDC variables, object-lock spelling, STS tags, metadata extraction, and end-to-end policy decisions. Co-authored-by: ChatGPT <noreply@openai.com> Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -68,7 +68,7 @@ func testAPICompleteMultipartHandlerPartOrder(obj ObjectLayer, instanceType, buc
|
||||
}{
|
||||
// Defect reproduction. A duplicated part number is the case that
|
||||
// sort.SliceIsSorted() used to accept, because its '<' predicate treats
|
||||
// equal neighbours as sorted. Each of these assembled the same part into
|
||||
// equal neighbors as sorted. Each of these assembled the same part into
|
||||
// the object more than once, inflating it past what was uploaded.
|
||||
{
|
||||
name: "duplicate-part",
|
||||
|
||||
Reference in New Issue
Block a user