CVE-2024-44635

6.1 MEDIUM

📋 TL;DR

This vulnerability allows attackers to inject malicious scripts into the PHPGurukul Student Record System admin profile page. When exploited, it can lead to session hijacking, credential theft, or unauthorized actions by administrators. Only systems running the vulnerable version 3.20 are affected.

💻 Affected Systems

Products:
  • PHPGurukul Student Record System
Versions: 3.20
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the admin profile page via adminname and aemailid parameters.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, gain full administrative access, manipulate student records, or deploy malware to users' browsers.

🟠

Likely Case

Attackers would use reflected XSS to steal administrator credentials or session tokens, potentially gaining unauthorized access to the system.

🟢

If Mitigated

With proper input validation and output encoding, the attack would be prevented, and no impact would occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires administrator interaction, such as clicking a malicious link, but the attack itself is straightforward.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://phpgurukul.com/student-record-system-php

Restart Required: No

Instructions:

No official patch available. Apply input validation and output encoding to adminname and aemailid parameters in /admin-profile.php.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement server-side validation and sanitization for adminname and aemailid parameters to prevent XSS payloads.

Edit /admin-profile.php to add input filtering (e.g., htmlspecialchars() for output, preg_match() for validation).

Content Security Policy (CSP)

all

Deploy a strict CSP header to mitigate XSS by restricting script execution sources.

Add header: Content-Security-Policy: default-src 'self'; script-src 'self'

🧯 If You Can't Patch

  • Restrict access to the admin interface to trusted IP addresses only.
  • Monitor logs for suspicious activity related to admin-profile.php parameters.

🔍 How to Verify

Check if Vulnerable:

Test by injecting a simple XSS payload (e.g., <script>alert('XSS')</script>) into adminname or aemailid parameters on /admin-profile.php and check if it executes.

Check Version:

Check the system version in the admin panel or configuration files; look for '3.20' in code comments or version strings.

Verify Fix Applied:

After applying fixes, retest with XSS payloads to ensure they are properly sanitized and do not execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual requests to /admin-profile.php with script tags or encoded payloads in parameters.
  • Multiple failed login attempts or access from unexpected IPs.

Network Indicators:

  • HTTP requests containing malicious scripts in adminname or aemailid parameters.

SIEM Query:

source="web_logs" AND uri="/admin-profile.php" AND (param="adminname" OR param="aemailid") AND content MATCHES "<script>|javascript:"

🔗 References

📤 Share & Export