CVE-2026-3745

6.3 MEDIUM

📋 TL;DR

CVE-2026-3745 is an SQL injection vulnerability in code-projects Student Web Portal 1.0 that allows remote attackers to execute arbitrary SQL commands via the User parameter in profile.php. This could lead to unauthorized data access, modification, or deletion. All users running Student Web Portal 1.0 are affected.

💻 Affected Systems

Products:
  • code-projects Student Web Portal
Versions: 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation of Student Web Portal 1.0. Any system with this software exposed to network access is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data destruction, and potential server takeover via SQL injection leading to remote code execution.

🟠

Likely Case

Unauthorized access to student records, grades, personal information, and potential privilege escalation within the portal.

🟢

If Mitigated

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

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit code is publicly available on GitHub, making this easily exploitable by attackers with basic SQL injection knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

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

Restart Required: No

Instructions:

1. Check code-projects.org for security updates. 2. If no patch available, implement workarounds. 3. Consider migrating to alternative software if vendor doesn't provide timely fix.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement proper input validation and parameterized queries for the User parameter in profile.php

Edit profile.php to use prepared statements: $stmt = $conn->prepare('SELECT * FROM users WHERE username = ?'); $stmt->bind_param('s', $user); $stmt->execute();

Web Application Firewall (WAF)

all

Deploy WAF rules to block SQL injection patterns targeting the User parameter

ModSecurity rule: SecRule ARGS:User "@detectSQLi" "id:1001,phase:2,deny,status:403,msg:'SQL Injection Attempt'"
Cloudflare WAF: Enable SQL Injection protection

🧯 If You Can't Patch

  • Isolate the Student Web Portal behind a reverse proxy with strict input filtering
  • Implement network segmentation to limit database access from the web server

🔍 How to Verify

Check if Vulnerable:

Test the User parameter in profile.php with SQL injection payloads like ' OR '1'='1

Check Version:

Check the software version in the portal's admin interface or footer

Verify Fix Applied:

Attempt SQL injection tests after implementing fixes and verify they are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in web server logs
  • Multiple failed login attempts with SQL syntax in parameters
  • Unexpected database queries from web server IP

Network Indicators:

  • HTTP requests to profile.php with SQL keywords in User parameter
  • Unusual database traffic patterns from web server

SIEM Query:

source="web_logs" AND uri="*profile.php*" AND (param="*User=*OR*" OR param="*User=*UNION*" OR param="*User=*SELECT*")

🔗 References

📤 Share & Export