CVE-2025-4837

7.3 HIGH

📋 TL;DR

CVE-2025-4837 is a critical SQL injection vulnerability in Projectworlds Student Project Allocation System 1.0 that allows remote attackers to execute arbitrary SQL commands via the mem1/mem2/mem3 parameters in /make_group_sql.php. This affects all users running the vulnerable version of this student management software. Successful exploitation could lead to complete database compromise.

💻 Affected Systems

Products:
  • Projectworlds Student Project Allocation System
Versions: 1.0
Operating Systems: All operating systems running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Any installation with the vulnerable /make_group_sql.php file accessible via web server is affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, privilege escalation, and potential server takeover via SQL injection to RCE chaining.

🟠

Likely Case

Unauthorized access to sensitive student/project data, database manipulation, and potential authentication bypass.

🟢

If Mitigated

Limited impact with proper input validation and WAF rules blocking SQL injection patterns.

🌐 Internet-Facing: HIGH - Remote exploitation possible without authentication, making internet-facing instances extremely vulnerable.
🏢 Internal Only: HIGH - Even internal instances are vulnerable to authenticated or network-accessible attackers.

🎯 Exploit Status

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

Exploit details are publicly disclosed on GitHub, making weaponization straightforward for attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None found

Restart Required: No

Instructions:

No official patch available. Consider removing or replacing the software with a secure alternative.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add parameter validation and SQL injection protection to /make_group_sql.php

Edit /make_group_sql.php to implement prepared statements with parameterized queries

Web Application Firewall Rules

all

Block SQL injection patterns targeting mem1/mem2/mem3 parameters

Add WAF rules to detect and block SQL injection attempts on the vulnerable endpoint

🧯 If You Can't Patch

  • Remove or restrict access to /make_group_sql.php file via web server configuration
  • Implement network segmentation and restrict access to the application to trusted users only

🔍 How to Verify

Check if Vulnerable:

Check if /make_group_sql.php exists and accepts mem1/mem2/mem3 parameters without proper input validation

Check Version:

Check software version in application interface or configuration files

Verify Fix Applied:

Test that SQL injection attempts on mem1/mem2/mem3 parameters are properly blocked or sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed parameter validation attempts on /make_group_sql.php

Network Indicators:

  • HTTP requests to /make_group_sql.php with SQL injection patterns in parameters

SIEM Query:

source="web_server" AND uri="/make_group_sql.php" AND (param="mem1" OR param="mem2" OR param="mem3") AND (content="UNION" OR content="SELECT" OR content="INSERT" OR content="DELETE")

🔗 References

📤 Share & Export