CVE-2025-14621

7.3 HIGH

📋 TL;DR

This SQL injection vulnerability in code-projects Student File Management System 1.0 allows attackers to manipulate database queries through the user_id parameter in /admin/update_user.php. Remote attackers can potentially access, modify, or delete sensitive student data. All users running version 1.0 of this software are affected.

💻 Affected Systems

Products:
  • code-projects Student File Management System
Versions: 1.0
Operating Systems: all
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the web interface component accessible via /admin/update_user.php

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including student records, admin credentials, and potential system takeover via SQL injection leading to remote code execution.

🟠

Likely Case

Unauthorized access to sensitive student data, modification of user privileges, or database corruption.

🟢

If Mitigated

Limited impact with proper input validation and database permissions restricting damage to non-critical data.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit requires admin access to reach /admin/update_user.php endpoint

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: unknown

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

Restart Required: No

Instructions:

No official patch available. Consider implementing input validation and parameterized queries manually.

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation to ensure user_id parameter contains only numeric values

Modify /admin/update_user.php to include: if(!is_numeric($_POST['user_id'])) { die('Invalid input'); }

Web Application Firewall Rule

all

Block SQL injection patterns targeting /admin/update_user.php

WAF rule: deny requests to /admin/update_user.php containing SQL keywords in user_id parameter

🧯 If You Can't Patch

  • Restrict access to /admin/ directory using IP whitelisting or authentication
  • Implement database user with minimal permissions (read-only where possible)

🔍 How to Verify

Check if Vulnerable:

Test /admin/update_user.php with SQL injection payloads like: user_id=1' OR '1'='1

Check Version:

Check software documentation or about page for version information

Verify Fix Applied:

Verify input validation rejects non-numeric user_id values and parameterized queries are used

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed login attempts to admin panel
  • Unusual database queries from web server process
  • Access to /admin/update_user.php with suspicious parameters

Network Indicators:

  • HTTP POST requests to /admin/update_user.php containing SQL keywords
  • Unusual database connection patterns from web server

SIEM Query:

source="web_logs" AND uri="/admin/update_user.php" AND (user_id CONTAINS "'" OR user_id CONTAINS "OR" OR user_id CONTAINS "UNION")

🔗 References

📤 Share & Export