CVE-2024-25294
📋 TL;DR
This CVE describes a Server-Side Request Forgery (SSRF) vulnerability in REBUILD v3.5 that allows remote attackers to make unauthorized requests from the vulnerable server. Attackers can exploit this to access internal systems, steal sensitive data, and potentially execute arbitrary code. All systems running REBUILD v3.5 are affected.
💻 Affected Systems
- REBUILD
📦 What is this software?
Rebuild by Getrebuild
⚠️ Risk & Real-World Impact
Worst Case
Full system compromise through arbitrary code execution leading to data theft, lateral movement, and complete control of affected systems.
Likely Case
Sensitive information disclosure from internal systems and potential access to cloud metadata services.
If Mitigated
Limited to port scanning of internal networks if proper network segmentation and egress filtering are in place.
🎯 Exploit Status
The vulnerability requires no authentication and has publicly available technical details, making exploitation straightforward.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: http://rebuild.com
Restart Required: No
Instructions:
1. Check REBUILD vendor website for security updates
2. Upgrade to a patched version when available
3. Monitor GitHub repository for fixes
🔧 Temporary Workarounds
Input Validation and URL Whitelisting
allImplement strict validation of URL parameters in proxyDownload function to only allow trusted domains
Modify FileDownloader.java to validate URLs against allowed list
Network Segmentation
allRestrict outbound network access from REBUILD servers to only necessary services
Configure firewall rules to block outbound traffic to internal networks and cloud metadata services
🧯 If You Can't Patch
- Implement Web Application Firewall (WAF) rules to block SSRF patterns in URL parameters
- Isolate REBUILD servers in a DMZ with strict egress filtering
🔍 How to Verify
Check if Vulnerable:
Check if REBUILD version is 3.5 and review FileDownloader.java for proxyDownload function without proper URL validation
Check Version:
Check REBUILD version in application interface or configuration files
Verify Fix Applied:
Test that proxyDownload function properly validates URLs and rejects internal/unauthorized addresses
📡 Detection & Monitoring
Log Indicators:
- Unusual outbound requests from REBUILD server to internal IPs
- Requests to cloud metadata endpoints (169.254.169.254, etc.)
- Multiple failed URL validation attempts
Network Indicators:
- REBUILD server making unexpected outbound connections
- Traffic to internal services from REBUILD server
SIEM Query:
source_ip="REBUILD_SERVER_IP" AND (dest_ip IN internal_ranges OR dest_ip="169.254.169.254")
🔗 References
- http://rebuild.com
- https://deeply-capri-1c8.notion.site/REBUILD-V3-5-2023-12-11-SSRF-30324be04e00477eae472bf75f4f5e0d
- https://github.com/getrebuild/rebuild/
- http://rebuild.com
- https://deeply-capri-1c8.notion.site/REBUILD-V3-5-2023-12-11-SSRF-30324be04e00477eae472bf75f4f5e0d
- https://github.com/getrebuild/rebuild/