CVE-2025-2384

6.3 MEDIUM

📋 TL;DR

This critical SQL injection vulnerability in Real Estate Property Management System 1.0 allows remote attackers to execute arbitrary SQL commands through parameters in InsertCustomer.php. Attackers can potentially access, modify, or delete database content. All users running the vulnerable version are affected.

💻 Affected Systems

Products:
  • code-projects Real Estate Property Management System
Versions: 1.0
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the InsertCustomer.php component specifically. Requires PHP environment with database connectivity.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data destruction, authentication bypass, and potential server takeover via SQL injection to RCE chaining.

🟠

Likely Case

Database information disclosure, data manipulation, and potential privilege escalation affecting customer records and system data.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, potentially only error messages or partial data exposure.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit details are publicly available on GitHub. SQL injection is a well-understood attack vector with many automated tools available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

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

Restart Required: No

Instructions:

No official patch available. Check vendor website for updates. Consider implementing parameterized queries and input validation manually.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict input validation and parameterized queries for all user inputs in InsertCustomer.php

Modify InsertCustomer.php to use prepared statements: $stmt = $conn->prepare('INSERT INTO customers (name, address) VALUES (?, ?)'); $stmt->bind_param('ss', $txtName, $txtAddress);

Web Application Firewall Rules

all

Deploy WAF rules to block SQL injection patterns targeting InsertCustomer.php parameters

Add WAF rule: Block requests to /InsertCustomer.php containing SQL keywords like UNION, SELECT, INSERT, DELETE, DROP, OR 1=1

🧯 If You Can't Patch

  • Isolate the system behind a reverse proxy with strict input filtering
  • Implement network segmentation and restrict database access to minimum required privileges

🔍 How to Verify

Check if Vulnerable:

Test InsertCustomer.php endpoint with SQL injection payloads in txtName, txtAddress, cmbCity, txtEmail, cmbGender, txtBirthDate, txtUserName2, txtPassword2 parameters

Check Version:

Check system documentation or admin panel for version information. No standard command available.

Verify Fix Applied:

Verify that parameterized queries are implemented and test with SQL injection payloads to confirm they are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual database queries from web server
  • SQL syntax errors in application logs
  • Multiple failed insert attempts with special characters

Network Indicators:

  • HTTP POST requests to /InsertCustomer.php containing SQL keywords in parameters
  • Unusual database connection patterns from web server

SIEM Query:

source="web_logs" AND uri="/InsertCustomer.php" AND (param="txtName" OR param="txtAddress" OR param="cmbCity" OR param="txtEmail" OR param="cmbGender" OR param="txtBirthDate" OR param="txtUserName2" OR param="txtPassword2") AND (content="UNION" OR content="SELECT" OR content="INSERT" OR content="DELETE" OR content="DROP" OR content="OR 1=1")

🔗 References

📤 Share & Export