CVE-2024-25625
📋 TL;DR
This CVE describes a Host Header Injection vulnerability in Pimcore's Admin Classic Bundle that allows attackers to manipulate invitation email links. By sending crafted HTTP requests with malicious host headers to the /admin/user/invitationlink endpoint, attackers can make invitation emails point to their own domains, enabling phishing attacks. All Pimcore installations using affected versions of the admin-ui-classic-bundle are vulnerable.
💻 Affected Systems
- pimcore/admin-ui-classic-bundle
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Successful phishing campaigns leading to credential theft, account compromise, and potential lateral movement within the Pimcore environment.
Likely Case
Phishing attacks targeting Pimcore administrators or users, potentially leading to credential harvesting and unauthorized access.
If Mitigated
Minimal impact with proper host header validation and email link verification procedures in place.
🎯 Exploit Status
Exploitation requires access to the invitation link endpoint, which typically requires authentication. The attack technique is well-known and simple to implement.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.3.4
Vendor Advisory: https://github.com/pimcore/admin-ui-classic-bundle/security/advisories/GHSA-3qpq-6w89-f7mx
Restart Required: No
Instructions:
1. Update pimcore/admin-ui-classic-bundle to version 1.3.4 or later using composer: composer update pimcore/admin-ui-classic-bundle. 2. Clear the application cache if necessary. 3. Verify the update was successful by checking the bundle version.
🔧 Temporary Workarounds
Host Header Validation via Web Server
allConfigure web server to validate or override host headers before they reach the application
# Apache: Set ServerName directive
# Nginx: Use $host variable with validation
# Configure trusted hosts in web server configuration
Disable Invitation Link Endpoint
allTemporarily disable the vulnerable /admin/user/invitationlink endpoint
# Add rewrite rule to block access to the endpoint
# Example Apache: RewriteRule ^/admin/user/invitationlink - [F]
# Example Nginx: location ~ ^/admin/user/invitationlink { return 403; }
🧯 If You Can't Patch
- Implement strict host header validation at the application level or web server level
- Monitor and alert on suspicious host header values in HTTP requests to the vulnerable endpoint
🔍 How to Verify
Check if Vulnerable:
Check the installed version of pimcore/admin-ui-classic-bundle. If version is less than 1.3.4, the system is vulnerable.
Check Version:
composer show pimcore/admin-ui-classic-bundle | grep versions
Verify Fix Applied:
Verify that pimcore/admin-ui-classic-bundle version is 1.3.4 or higher and test that host header manipulation no longer affects invitation links.
📡 Detection & Monitoring
Log Indicators:
- HTTP requests to /admin/user/invitationlink with unusual host headers
- Multiple failed login attempts following invitation email sends
- Unusual host header values in application logs
Network Indicators:
- HTTP POST requests to /admin/user/invitationlink with manipulated Host headers
- Outbound emails with suspicious domain links
SIEM Query:
source="web_logs" AND (uri_path="/admin/user/invitationlink" AND NOT host_header IN ["trusted-domain1", "trusted-domain2"])
🔗 References
- https://github.com/pimcore/admin-ui-classic-bundle/commit/b9fee9d383fc73dbd5e1d98dbb0ff3266d6b5a82
- https://github.com/pimcore/admin-ui-classic-bundle/security/advisories/GHSA-3qpq-6w89-f7mx
- https://github.com/pimcore/admin-ui-classic-bundle/commit/b9fee9d383fc73dbd5e1d98dbb0ff3266d6b5a82
- https://github.com/pimcore/admin-ui-classic-bundle/security/advisories/GHSA-3qpq-6w89-f7mx