CVE-2023-43650

8.2 HIGH

📋 TL;DR

JumpServer's password reset verification code lacks rate limiting, allowing attackers to brute-force the 6-digit code within its 1-minute validity window. This vulnerability enables unauthorized password resets for any user account. All JumpServer instances with password reset functionality enabled are affected.

💻 Affected Systems

Products:
  • JumpServer
Versions: All versions before 2.28.20 and 3.7.1
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments with password reset functionality enabled are vulnerable. The feature is typically enabled by default.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of JumpServer bastion host leading to lateral movement into internal networks, credential theft, and persistent access to critical infrastructure.

🟠

Likely Case

Unauthorized password reset for administrative or high-privilege accounts, resulting in account takeover and potential data exfiltration.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, though authentication bypass remains possible.

🌐 Internet-Facing: HIGH - Internet-facing JumpServer instances are directly exploitable without authentication.
🏢 Internal Only: HIGH - Internal attackers or compromised internal systems can exploit this vulnerability to escalate privileges.

🎯 Exploit Status

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

Simple brute-force script can exploit this vulnerability. Public proof-of-concept exists in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.28.20 or 3.7.1

Vendor Advisory: https://github.com/jumpserver/jumpserver/security/advisories/GHSA-mwx4-8fwc-2xvw

Restart Required: Yes

Instructions:

1. Backup current configuration and data. 2. Stop JumpServer services. 3. Update to version 2.28.20 (for v2.x) or 3.7.1 (for v3.x). 4. Restart JumpServer services. 5. Verify functionality.

🔧 Temporary Workarounds

Disable password reset functionality

all

Temporarily disable the password reset feature to prevent exploitation

Modify JumpServer configuration to disable password reset functionality

🧯 If You Can't Patch

  • Implement network-level rate limiting at firewall/WAF for password reset endpoints
  • Enable detailed logging and monitoring for password reset attempts with alert thresholds

🔍 How to Verify

Check if Vulnerable:

Check JumpServer version: if below 2.28.20 (for v2.x) or below 3.7.1 (for v3.x), system is vulnerable

Check Version:

jumpserverctl version or check web interface admin panel

Verify Fix Applied:

Verify version is 2.28.20 or higher (v2.x) or 3.7.1 or higher (v3.x). Test password reset with multiple failed attempts to confirm rate limiting is enforced.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed password reset verification attempts from single IP
  • Successful password reset followed by unusual login patterns

Network Indicators:

  • High volume of POST requests to /api/v1/authentication/password/reset/
  • Brute-force patterns to verification code endpoints

SIEM Query:

source="jumpserver" AND (uri_path="/api/v1/authentication/password/reset/" OR event_type="password_reset") | stats count by src_ip | where count > 10

🔗 References

📤 Share & Export