CVE-2024-29885
📋 TL;DR
This vulnerability allows users with access to the reports admin section in Silverstripe to bypass authorization controls and view reports they shouldn't have permission to access. By using direct URLs to specific reports, users can circumvent the canView() method that should restrict access. This affects all Silverstripe installations using the vulnerable reports module.
💻 Affected Systems
- silverstripe/reports module
📦 What is this software?
Reports by Silverstripe
⚠️ Risk & Real-World Impact
Worst Case
Unauthorized users access sensitive business reports containing confidential data, leading to data exposure and potential regulatory compliance violations.
Likely Case
Users with limited report access can view additional reports beyond their intended permissions, potentially exposing sensitive operational or customer data.
If Mitigated
With proper network segmentation and access controls, impact is limited to authorized users gaining access to additional reports they shouldn't see.
🎯 Exploit Status
Exploitation requires authenticated access to the reports admin section and knowledge of report URLs.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 5.2.3
Vendor Advisory: https://www.silverstripe.org/download/security-releases/cve-2024-29885
Restart Required: Yes
Instructions:
1. Update silverstripe/reports module to version 5.2.3 via composer: composer require silverstripe/reports:5.2.3
2. Clear Silverstripe cache
3. Restart web server
4. Verify reports authorization is working correctly
🔧 Temporary Workarounds
No workarounds available
allThe vendor states there are no known workarounds for this vulnerability
🧯 If You Can't Patch
- Restrict access to the reports admin section to only essential users
- Implement network-level access controls to limit who can reach the Silverstripe admin interface
🔍 How to Verify
Check if Vulnerable:
Check composer.json or installed packages for silverstripe/reports version below 5.2.3
Check Version:
composer show silverstripe/reports | grep versions
Verify Fix Applied:
Verify silverstripe/reports version is 5.2.3 or higher and test that users cannot access reports where canView() returns false
📡 Detection & Monitoring
Log Indicators:
- Unusual report access patterns from users
- Access to report URLs that should be restricted
Network Indicators:
- Multiple requests to report endpoints from single users in short timeframes
SIEM Query:
source="webserver" AND (uri_path="/admin/reports/" OR uri_path CONTAINS "/admin/reports/") AND status=200 AND user_agent NOT IN ["expected_user_agents"]
🔗 References
- https://github.com/silverstripe/silverstripe-reports/commit/0351106c18ad4246d983b5f4e082c09c382121f4
- https://github.com/silverstripe/silverstripe-reports/security/advisories/GHSA-89q6-98xx-4ffw
- https://www.silverstripe.org/download/security-releases/cve-2024-29885
- https://github.com/silverstripe/silverstripe-reports/commit/0351106c18ad4246d983b5f4e082c09c382121f4
- https://github.com/silverstripe/silverstripe-reports/security/advisories/GHSA-89q6-98xx-4ffw
- https://www.silverstripe.org/download/security-releases/cve-2024-29885