CVE-2025-10428
📋 TL;DR
This vulnerability allows remote attackers to upload arbitrary files to SourceCodester Pet Grooming Management Software 1.0 via the website_image parameter in /admin/seo_setting.php. This unrestricted file upload can lead to server compromise. All users running version 1.0 are affected.
💻 Affected Systems
- SourceCodester Pet Grooming Management Software
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete server takeover via webshell upload leading to data theft, ransomware deployment, or lateral movement within the network.
Likely Case
Attackers upload malicious files (PHP webshells) to gain remote code execution and control the server.
If Mitigated
File uploads are blocked or properly validated, preventing malicious file execution.
🎯 Exploit Status
Exploit requires admin access; public proof-of-concept exists on GitHub showing file upload manipulation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Not available
Vendor Advisory: https://www.sourcecodester.com/
Restart Required: No
Instructions:
No official patch available. Consider removing the software or implementing workarounds.
🔧 Temporary Workarounds
Restrict file upload types
allModify /admin/seo_setting.php to validate file extensions and MIME types, allowing only image files (jpg, png, gif).
Edit PHP code to add: $allowed_extensions = ['jpg', 'jpeg', 'png', 'gif']; $allowed_mime = ['image/jpeg', 'image/png', 'image/gif'];
Disable admin panel access
allRestrict access to /admin/ directory via web server configuration or firewall rules.
Apache: Order deny,allow
Deny from all
Nginx: location /admin/ { deny all; }
🧯 If You Can't Patch
- Remove or rename /admin/seo_setting.php file to prevent exploitation.
- Implement web application firewall (WAF) rules to block file uploads to the vulnerable endpoint.
🔍 How to Verify
Check if Vulnerable:
Check if /admin/seo_setting.php exists and accepts file uploads via website_image parameter without proper validation.
Check Version:
Check software version in admin panel or readme files; version 1.0 is vulnerable.
Verify Fix Applied:
Attempt to upload a non-image file (e.g., .php) to /admin/seo_setting.php; upload should be rejected.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to /admin/seo_setting.php
- POST requests with website_image parameter containing executable files
Network Indicators:
- HTTP POST requests to /admin/seo_setting.php with file uploads
- Subsequent requests to uploaded malicious files
SIEM Query:
source="web_logs" AND uri="/admin/seo_setting.php" AND method="POST" AND (file_extension="php" OR file_extension="exe")