CVE-2025-13565

5.3 MEDIUM

📋 TL;DR

This vulnerability allows unauthenticated attackers to perform weak password recovery attacks on SourceCodester Inventory Management System 1.0. Attackers can remotely exploit this flaw to potentially reset user passwords without proper authentication. All deployments of this specific software version are affected.

💻 Affected Systems

Products:
  • SourceCodester Inventory Management System
Versions: 1.0
Operating Systems: Any OS running PHP web server
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of version 1.0 are vulnerable by default. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain unauthorized access to administrative accounts, leading to complete system compromise, data theft, or ransomware deployment.

🟠

Likely Case

Attackers reset user passwords to gain unauthorized access to regular user accounts, potentially escalating privileges or accessing sensitive inventory data.

🟢

If Mitigated

With proper network segmentation and monitoring, impact is limited to password reset attempts that can be detected and blocked.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Public exploit details available. Attack requires no authentication and minimal technical skill.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://www.sourcecodester.com/

Restart Required: No

Instructions:

No official patch available. Consider upgrading to newer version if available or implementing workarounds.

🔧 Temporary Workarounds

Block access to vulnerable endpoint

all

Restrict access to /model/user/resetPassword.php via web server configuration

# Apache: RewriteRule ^/model/user/resetPassword\.php$ - [F,L]
# Nginx: location ~ /model/user/resetPassword\.php$ { deny all; }

Implement rate limiting

all

Limit requests to password reset functionality

# Use mod_evasive (Apache) or limit_req (Nginx) to restrict requests to vulnerable endpoint

🧯 If You Can't Patch

  • Implement network segmentation to isolate the system from untrusted networks
  • Enable detailed logging and monitoring for password reset attempts

🔍 How to Verify

Check if Vulnerable:

Check if /model/user/resetPassword.php exists and is accessible without authentication. Test with password reset requests.

Check Version:

Check application files or database for version information. Look for version.txt or similar files.

Verify Fix Applied:

Verify /model/user/resetPassword.php returns 403/404 or requires proper authentication. Test password reset functionality.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed password reset attempts
  • Unusual IP addresses accessing resetPassword.php
  • Successful password resets without proper authentication

Network Indicators:

  • HTTP POST requests to /model/user/resetPassword.php from external IPs
  • Unusual traffic patterns to password reset endpoint

SIEM Query:

source="web_server" AND (uri="/model/user/resetPassword.php" OR uri LIKE "%/resetPassword%") AND (status=200 OR method="POST")

🔗 References

📤 Share & Export