CVE-2024-27916
📋 TL;DR
This vulnerability in Minder allows authenticated users to access, delete, or retrieve artifacts from any repository in the database regardless of ownership or permissions. It affects all Minder users with valid credentials before version 0.0.33. The issue stems from insufficient authorization checks in repository API endpoints.
💻 Affected Systems
- Minder
📦 What is this software?
Minder by Lfprojects
⚠️ Risk & Real-World Impact
Worst Case
Malicious authenticated user could delete or exfiltrate sensitive repository data from any organization using the platform, potentially disrupting software supply chains.
Likely Case
Unauthorized access to repository metadata and artifacts, leading to information disclosure and potential data manipulation.
If Mitigated
With proper network segmentation and monitoring, impact would be limited to unauthorized data access within the Minder instance.
🎯 Exploit Status
Exploitation requires valid user credentials but is straightforward via API calls with manipulated parameters.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.0.33
Vendor Advisory: https://github.com/stacklok/minder/security/advisories/GHSA-v627-69v2-xx37
Restart Required: Yes
Instructions:
1. Stop Minder service. 2. Update to version 0.0.33 or later. 3. Restart Minder service. 4. Verify the fix by testing repository access controls.
🔧 Temporary Workarounds
Restrict API Access
allImplement network-level restrictions to limit which users can access Minder API endpoints.
🧯 If You Can't Patch
- Implement strict network segmentation to isolate Minder from sensitive systems
- Enable detailed API logging and monitor for unauthorized repository access patterns
🔍 How to Verify
Check if Vulnerable:
Check Minder version: if version < 0.0.33, system is vulnerable. Test API endpoints with unauthorized repository parameters.
Check Version:
minder version
Verify Fix Applied:
After patching, attempt to access repositories not owned by the authenticated user via GetRepositoryByName, DeleteRepositoryByName, or GetArtifactByName endpoints - these should now fail.
📡 Detection & Monitoring
Log Indicators:
- API calls to repository endpoints with repository names/owners not associated with the authenticated user
- Failed authorization attempts after patch
Network Indicators:
- Unusual patterns of repository access across different owners
- Multiple DELETE requests to repositories
SIEM Query:
source="minder" AND (endpoint="GetRepositoryByName" OR endpoint="DeleteRepositoryByName" OR endpoint="GetArtifactByName") AND repo_owner != user_org
🔗 References
- https://github.com/stacklok/minder/blob/a115c8524fbd582b2b277eaadce024bebbded508/internal/controlplane/handlers_repositories.go#L277-L278
- https://github.com/stacklok/minder/blob/main/internal/controlplane/handlers_repositories.go#L257-L299
- https://github.com/stacklok/minder/commit/45750b4e9fb2de33365758366e06c19e999bd2eb
- https://github.com/stacklok/minder/security/advisories/GHSA-v627-69v2-xx37
- https://github.com/stacklok/minder/blob/a115c8524fbd582b2b277eaadce024bebbded508/internal/controlplane/handlers_repositories.go#L277-L278
- https://github.com/stacklok/minder/blob/main/internal/controlplane/handlers_repositories.go#L257-L299
- https://github.com/stacklok/minder/commit/45750b4e9fb2de33365758366e06c19e999bd2eb
- https://github.com/stacklok/minder/security/advisories/GHSA-v627-69v2-xx37