CVE-2025-50484

7.1 HIGH

📋 TL;DR

This vulnerability allows attackers to hijack user sessions in PHPGurukul Small CRM v3.0 by exploiting improper session invalidation in the password change functionality. Attackers can maintain access to accounts even after password changes, affecting all users of this CRM software.

💻 Affected Systems

Products:
  • PHPGurukul Small CRM
Versions: v3.0
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations of PHPGurukul Small CRM v3.0 with the /crm/change-password.php component accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain persistent unauthorized access to administrative accounts, leading to complete CRM compromise, data theft, and potential privilege escalation across the system.

🟠

Likely Case

Attackers maintain access to compromised user accounts after password changes, enabling continued unauthorized access to CRM data and functionality.

🟢

If Mitigated

With proper session management controls, impact is limited to temporary access until sessions naturally expire.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires initial session access but is straightforward once obtained. GitHub repository contains proof-of-concept.

🛠️ 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. Test password change functionality with session validation.

🔧 Temporary Workarounds

Manual Session Invalidation

all

Modify /crm/change-password.php to properly invalidate all existing sessions when passwords are changed.

# Edit change-password.php to add: session_destroy(); session_regenerate_id(true); after successful password change

Access Restriction

linux

Restrict access to the CRM application using network controls or authentication proxies.

# Example Apache .htaccess: AuthType Basic\nAuthName "Restricted Area"\nAuthUserFile /path/to/.htpasswd\nRequire valid-user

🧯 If You Can't Patch

  • Implement short session timeout values (e.g., 15-30 minutes) to limit exposure window
  • Monitor for unusual session activity and implement multi-factor authentication

🔍 How to Verify

Check if Vulnerable:

1. Log into CRM. 2. Change password. 3. Attempt to access another page using old session token. If access persists, system is vulnerable.

Check Version:

# Check CRM version in admin panel or look for version.php file

Verify Fix Applied:

Repeat vulnerable check steps; successful password change should invalidate all existing sessions immediately.

📡 Detection & Monitoring

Log Indicators:

  • Multiple active sessions for same user after password change
  • Session IDs not regenerating after authentication events

Network Indicators:

  • Unusual session duration patterns
  • Multiple concurrent sessions from different IPs for same account

SIEM Query:

source="web_logs" action="password_change" NOT (session="new" OR session="regenerated")

🔗 References

📤 Share & Export