CVE-2025-24980

5.3 MEDIUM

📋 TL;DR

This vulnerability in pimcore/admin-ui-classic-bundle allows attackers to enumerate valid user accounts via the 'Forgot password' function due to improper error messages. Attackers can determine which accounts exist on the system, facilitating targeted attacks. All users running affected versions of this Pimcore backend UI component are impacted.

💻 Affected Systems

Products:
  • pimcore/admin-ui-classic-bundle
Versions: Versions before 1.7.4
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations using the vulnerable bundle versions; no special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers identify all valid user accounts, enabling targeted credential stuffing, phishing campaigns, or brute-force attacks against known users, potentially leading to account compromise.

🟠

Likely Case

Attackers enumerate valid administrative or user accounts, increasing the success rate of subsequent authentication attacks against the identified accounts.

🟢

If Mitigated

With proper controls like rate limiting and generic error messages, impact is limited to minimal information disclosure without direct system compromise.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires only web access to the forgot password function; no authentication or special tools needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.7.4

Vendor Advisory: https://github.com/pimcore/admin-ui-classic-bundle/security/advisories/GHSA-vr5f-php7-rg24

Restart Required: No

Instructions:

1. Update the pimcore/admin-ui-classic-bundle to version 1.7.4 or later via Composer: composer update pimcore/admin-ui-classic-bundle. 2. Clear the application cache if necessary. 3. Verify the update by checking the bundle version.

🔧 Temporary Workarounds

Implement generic error messages

all

Manually modify the forgot password function to return generic error messages regardless of account existence.

🧯 If You Can't Patch

  • Implement rate limiting on the forgot password endpoint to slow down enumeration attempts.
  • Monitor logs for unusual patterns of forgot password requests from single IPs.

🔍 How to Verify

Check if Vulnerable:

Test the forgot password function with valid and invalid usernames; if responses differ (e.g., 'user not found' vs. 'email sent'), the system is vulnerable.

Check Version:

composer show pimcore/admin-ui-classic-bundle | grep version

Verify Fix Applied:

After patching, test the forgot password function; both valid and invalid usernames should return identical generic messages.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed forgot password attempts with different usernames from a single IP address.
  • Patterns of requests to the forgot password endpoint with varying usernames in short timeframes.

Network Indicators:

  • Unusual spikes in POST requests to the forgot password URL.

SIEM Query:

source="web_logs" AND url_path="/forgot-password" AND status_code=200 | stats count by src_ip, username

🔗 References

📤 Share & Export