CVE-2025-7755

6.3 MEDIUM

📋 TL;DR

CVE-2025-7755 is a critical unrestricted file upload vulnerability in code-projects Online Ordering System 1.0. Attackers can remotely upload malicious files via the /admin/edit_product.php image parameter, potentially leading to complete system compromise. All deployments of version 1.0 are affected.

💻 Affected Systems

Products:
  • code-projects Online Ordering System
Versions: 1.0
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations of version 1.0 regardless of configuration. The /admin/edit_product.php file is part of the core application.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to full system takeover, data exfiltration, and lateral movement within the network.

🟠

Likely Case

Webshell deployment allowing persistent access, data manipulation, and further exploitation of the ordering system.

🟢

If Mitigated

File upload blocked or sanitized, preventing malicious file execution while maintaining normal functionality.

🌐 Internet-Facing: HIGH - Remote exploitation without authentication makes internet-facing instances extremely vulnerable.
🏢 Internal Only: HIGH - Even internal instances are vulnerable to insider threats or compromised internal systems.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploit details are publicly available on GitHub. The vulnerability requires minimal technical skill to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://code-projects.org/

Restart Required: No

Instructions:

No official patch available. Consider workarounds or migrating to alternative software.

🔧 Temporary Workarounds

File Upload Restriction

all

Implement server-side validation to restrict file uploads to specific extensions and scan for malicious content.

# Modify /admin/edit_product.php to validate file extensions and MIME types
# Example PHP code: if(!in_array($fileExtension, ['jpg','png','gif'])) { die('Invalid file type'); }

Access Control

all

Restrict access to /admin/edit_product.php to authorized users only with strong authentication.

# Add authentication check at top of edit_product.php
# Example: session_start(); if(!isset($_SESSION['admin'])) { header('Location: login.php'); exit(); }

🧯 If You Can't Patch

  • Remove or rename /admin/edit_product.php file if not essential
  • Implement web application firewall (WAF) rules to block requests to vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Check if /admin/edit_product.php exists and accepts file uploads without proper validation. Attempt to upload a non-image file.

Check Version:

# Check version in application files or database configuration

Verify Fix Applied:

Test that file uploads are properly validated and restricted to allowed file types only.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to /admin/edit_product.php
  • Uploads of non-image file types
  • Multiple failed upload attempts

Network Indicators:

  • POST requests to /admin/edit_product.php with file uploads
  • Traffic patterns indicating webshell communication

SIEM Query:

source="web_logs" AND uri="/admin/edit_product.php" AND method="POST" AND (file_extension!="jpg" OR file_extension!="png" OR file_extension!="gif")

🔗 References

📤 Share & Export