CVE-2025-13325

6.3 MEDIUM

📋 TL;DR

CVE-2025-13325 is a SQL injection vulnerability in itsourcecode Student Information System 1.0 that allows remote attackers to execute arbitrary SQL commands via the en_id parameter in /enrollment_edit1.php. This affects all deployments of Student Information System 1.0, potentially compromising student data and system integrity.

💻 Affected Systems

Products:
  • itsourcecode Student Information System
Versions: 1.0
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations of version 1.0; no specific configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data manipulation, authentication bypass, or full system takeover via SQL injection to RCE chaining.

🟠

Likely Case

Unauthorized access to sensitive student records (grades, personal information), data exfiltration, or database corruption.

🟢

If Mitigated

Limited impact with proper input validation, parameterized queries, and database permissions restricting unauthorized access.

🌐 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; remote exploitation requires no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://itsourcecode.com/

Restart Required: No

Instructions:

No official patch available. Consider upgrading to a newer version if available, or implement workarounds.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict input validation for the en_id parameter to allow only expected values (e.g., numeric IDs).

Modify /enrollment_edit1.php to validate en_id using is_numeric() or regex patterns

Parameterized Queries Implementation

all

Replace dynamic SQL queries with prepared statements using PDO or MySQLi to prevent SQL injection.

Update PHP code to use prepared statements: $stmt = $pdo->prepare('SELECT * FROM enrollments WHERE id = ?'); $stmt->execute([$en_id]);

🧯 If You Can't Patch

  • Deploy a web application firewall (WAF) with SQL injection rules to block malicious requests.
  • Restrict network access to the Student Information System to trusted IPs only using firewall rules.

🔍 How to Verify

Check if Vulnerable:

Test the /enrollment_edit1.php endpoint with SQL injection payloads (e.g., en_id=1' OR '1'='1) and observe database errors or unexpected behavior.

Check Version:

Check the software version in the application interface or configuration files; version 1.0 is vulnerable.

Verify Fix Applied:

After implementing fixes, retest with SQL injection payloads; successful fixes should return no database errors and handle input safely.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in PHP/application logs
  • Multiple requests to /enrollment_edit1.php with suspicious en_id values (e.g., containing quotes, SQL keywords)

Network Indicators:

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

SIEM Query:

source="web_logs" AND uri="/enrollment_edit1.php" AND (en_id="*'*" OR en_id="*OR*" OR en_id="*UNION*" OR en_id="*SELECT*")

🔗 References

📤 Share & Export