CVE-2025-10428

6.3 MEDIUM

📋 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

Products:
  • SourceCodester Pet Grooming Management Software
Versions: 1.0
Operating Systems: Any OS running PHP web server (Linux, Windows)
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default installation; requires admin panel access (/admin/seo_setting.php).

📦 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.

🌐 Internet-Facing: HIGH - Attack can be initiated remotely without authentication, making internet-facing instances extremely vulnerable.
🏢 Internal Only: MEDIUM - Internal instances are still vulnerable but require network access; risk increases if internal users can reach the admin interface.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

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

all

Modify /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

all

Restrict 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")

🔗 References

📤 Share & Export