CVE-2025-50490

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers to hijack user sessions in PHPGurukul Student Result Management System by exploiting improper session invalidation in the password change component. Attackers can potentially gain unauthorized access to student or administrator accounts. Organizations using version 2.0 of this system are affected.

💻 Affected Systems

Products:
  • PHPGurukul Student Result Management System
Versions: v2.0
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation of version 2.0. Any system with the /elms/emp-changepassword.php component is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain administrative access, manipulate student grades, access sensitive personal data, or compromise the entire system.

🟠

Likely Case

Attackers hijack student or teacher sessions to view or modify grades, access personal information, or perform unauthorized actions within the system.

🟢

If Mitigated

With proper session management controls, attackers would be unable to maintain hijacked sessions or access would be limited to low-privilege accounts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires initial access to a valid session, but the attack technique is straightforward once session access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: http://phpgurukul.com

Restart Required: No

Instructions:

1. Check vendor website for security updates. 2. If patch available, download and apply. 3. Modify /elms/emp-changepassword.php to properly invalidate sessions after password changes.

🔧 Temporary Workarounds

Disable vulnerable component

linux

Temporarily disable or restrict access to the password change functionality

# Rename or move the vulnerable file
mv /path/to/elms/emp-changepassword.php /path/to/elms/emp-changepassword.php.disabled

Implement session regeneration

all

Add session regeneration after password changes

# In emp-changepassword.php, add after successful password change:
session_regenerate_id(true);
$_SESSION = array();

🧯 If You Can't Patch

  • Implement network segmentation to isolate the system from untrusted networks
  • Enable detailed session logging and monitor for suspicious session activity

🔍 How to Verify

Check if Vulnerable:

Check if /elms/emp-changepassword.php exists and examine its session handling code for proper invalidation after password changes.

Check Version:

Check system documentation or configuration files for version information

Verify Fix Applied:

Test password change functionality to ensure sessions are properly invalidated and new sessions are created.

📡 Detection & Monitoring

Log Indicators:

  • Multiple successful logins from different IPs for same user
  • Password changes without corresponding session termination
  • Session IDs persisting after password changes

Network Indicators:

  • Unusual session patterns
  • Multiple concurrent sessions for single users

SIEM Query:

source="web_logs" (url="/elms/emp-changepassword.php") AND (status=200) | stats count by src_ip, user

🔗 References

📤 Share & Export