Bug: contract signatures publicly accessible via MinIO CDN #186
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-platform#186
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Bug
Lineage
Standalone — discovered during westside playground asset audit 2026-03-26.
Related story: story:WS-S4 (static assets via public CDN).
Repo
forgejo_admin/pal-e-platform(MinIO bucket policy)What Broke
The
assetsbucket in MinIO is publicly accessible viaminio-api.tail5b443a.ts.net/assets/. This is intentional for branding, coaches, sponsors images (WS-S4). However,westside/signatures/contains 13 contract signature images that are also publicly accessible. Anyone with the URL pattern can view signed contract signatures.Verified:
curl -sI "https://minio-api.tail5b443a.ts.net/assets/westside/signatures/108_1774343239303.png"returns HTTP 200.Repro Steps
https://minio-api.tail5b443a.ts.net/assets/westside/signatures/108_1774343239303.pngExpected Behavior
Signature images should NOT be publicly accessible. Either:
westside/signatures/prefixEnvironment
File Targets
terraform/modules/storage/main.tf:75-86— MinIO bucket policy resource (public access rules)Acceptance Criteria
curlto any signature URL returns 403 or 404Related
project-westside-basketballarch-deployment-westside-basketballScope Review: NEEDS_REFINEMENT
Review note:
review-415-2026-03-27Template is complete and file targets verified — root cause confirmed at
terraform/modules/storage/main.tflines 75-86 (minio_s3_bucket_policy.assets_public_readgrantss3:GetObjectonarn:aws:s3:::assets/*). Blast radius mapped: 25+ CDN URLs in westside-app + pal-e-mail email templates must remain public.Three items needed before READY:
story:WS-S4label to board item #415 (issue body references WS-S4 but board label is missing)terraform/modules/storage/main.tf:75-86to issue body so implementing agent knows where to changeIssue body updated per scope review corrections.