CVE-2025-55366

5.3 MEDIUM

📋 TL;DR

This vulnerability in jshERP v3.5 allows attackers to bypass access controls in the UserController component, enabling unauthorized password resets for any user account. This leads to horizontal privilege escalation where attackers can take over accounts with equal or higher privileges. Organizations using vulnerable versions of jshERP are affected.

💻 Affected Systems

Products:
  • jshERP
Versions: v3.5
Operating Systems: Any
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments of jshERP v3.5 are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain administrative access to the ERP system, potentially accessing sensitive business data, manipulating financial records, or disrupting operations.

🟠

Likely Case

Attackers compromise user accounts to access confidential information, perform unauthorized transactions, or escalate privileges within the system.

🟢

If Mitigated

With proper network segmentation and monitoring, impact is limited to isolated systems with potential data exposure but no critical system compromise.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires some understanding of the application but is straightforward once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check GitHub repository for latest version

Vendor Advisory: https://github.com/jishenghua/jshERP

Restart Required: No

Instructions:

1. Check current jshERP version. 2. Update to latest version from GitHub repository. 3. Verify UserController.java has proper access controls implemented.

🔧 Temporary Workarounds

Restrict Access to UserController

all

Implement network-level restrictions to limit access to vulnerable endpoints

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate jshERP from critical systems
  • Enable detailed logging and monitoring for unauthorized password reset attempts

🔍 How to Verify

Check if Vulnerable:

Review UserController.java for missing access control checks on password reset functions

Check Version:

Check application version in admin panel or configuration files

Verify Fix Applied:

Test password reset functionality to ensure proper authorization is required

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed password reset attempts
  • Password reset requests from unusual IP addresses
  • User account changes without proper authentication

Network Indicators:

  • Unusual traffic patterns to /user/resetPassword endpoints
  • Multiple password reset requests in short timeframes

SIEM Query:

source="jshERP" AND (event="password_reset" OR event="user_modify") AND user!="admin"

🔗 References

📤 Share & Export