CVE-2025-45994

7.5 HIGH

📋 TL;DR

CVE-2025-45994 is an information disclosure vulnerability in Aranda PassRecovery v1.0 that allows attackers to enumerate valid Active Directory user accounts by sending crafted POST requests to a specific endpoint. This affects organizations using Aranda PassRecovery v1.0 for password recovery operations. The vulnerability enables reconnaissance that can facilitate further attacks.

💻 Affected Systems

Products:
  • Aranda PassRecovery
Versions: v1.0
Operating Systems: Windows Server with Active Directory integration
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the /user/existdirectory/1 endpoint to be accessible, which appears to be part of default installation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers build complete lists of valid AD accounts, enabling targeted phishing, brute-force attacks, or credential stuffing against identified users, potentially leading to account compromise and lateral movement.

🟠

Likely Case

Attackers enumerate some valid accounts to identify targets for social engineering or password attacks, increasing the success rate of subsequent credential-based attacks.

🟢

If Mitigated

With proper network segmentation and monitoring, enumeration attempts are detected and blocked, limiting the attacker's ability to gather useful information.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The GitHub reference contains proof-of-concept code showing simple POST requests to enumerate users. No authentication appears to be required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: https://arandasoft.com/en/productos/password-recovery/

Restart Required: No

Instructions:

No official patch is available. Check the vendor website for updates. Consider workarounds or alternative solutions.

🔧 Temporary Workarounds

Block vulnerable endpoint

all

Configure web application firewall or reverse proxy to block access to /user/existdirectory/1 endpoint

# Example for Apache: RewriteRule ^/user/existdirectory/1 - [F]
# Example for Nginx: location ~ ^/user/existdirectory/1 { deny all; }

Network segmentation

all

Restrict access to Aranda PassRecovery to internal networks only

# Configure firewall rules to allow only trusted IP ranges

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can reach the PassRecovery application
  • Deploy monitoring and alerting for unusual POST requests to the vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Send a POST request to https://[target]/user/existdirectory/1 with a valid AD username in the request body and check if it returns information about user existence

Check Version:

Check application version in web interface or configuration files

Verify Fix Applied:

Attempt the same POST request after implementing controls - should receive access denied or no user information

📡 Detection & Monitoring

Log Indicators:

  • Multiple POST requests to /user/existdirectory/1 with different usernames
  • Unusual spikes in requests to the PassRecovery application

Network Indicators:

  • POST requests to /user/existdirectory/1 endpoint from untrusted sources
  • Pattern of sequential username attempts

SIEM Query:

source="web_logs" AND uri_path="/user/existdirectory/1" AND method="POST" | stats count by src_ip

🔗 References

📤 Share & Export