Security Vulnerability Report
中文
CVE-2025-30189 CVSS 7.4 HIGH

CVE-2025-30189

Published: 2025-10-31 09:15:47
Last Modified: 2026-04-15 00:35:42

Description

When cache is enabled, some passdb/userdb drivers incorrectly cache all users with same cache key, causing wrong cached information to be used for these users. After cached login, all subsequent logins are for same user. Install fixed version or disable caching either globally or for the impacted passdb/userdb drivers. No publicly available exploits are known.

CVSS Details

CVSS Score
7.4
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

Configurations (Affected Products)

No configuration data available.

Dovecot (passdb/userdb drivers with caching enabled) - 受影响版本需参考官方安全公告

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-30189 PoC Concept # This vulnerability allows cache poisoning leading to user identity confusion # No public exploit available, this is a conceptual demonstration import socket import hashlib def check_cache_key_collision(target, users): """ Check if multiple users share the same cache key This is the root cause of CVE-2025-30189 """ cache_keys = {} for user in users: # Simulate cache key generation (simplified) cache_key = hashlib.md5(user.encode()).hexdigest()[:8] if cache_key in cache_keys: print(f"[+] Cache key collision detected: {cache_key}") print(f" Users sharing key: {cache_keys[cache_key]}, {user}") return True, cache_key cache_keys[cache_key] = user return False, None def exploit_cache_confusion(target, user1, user2): """ Exploit the cache confusion vulnerability After user1 login caches data, user2 gets user1's cached info """ print(f"[*] Step 1: Login as {user1}") # Login first user - this populates the cache print(f"[*] Step 2: Login as {user2}") # Due to cache bug, this returns {user1}'s cached information print(f"[!] User identity confusion: {user2} authenticated as {user1}") return True # Example usage if __name__ == "__main__": target = "mail.example.com" test_users = ["[email protected]", "[email protected]", "[email protected]"] collision_found, shared_key = check_cache_key_collision(target, test_users) if collision_found: print(f"[CRITICAL] System vulnerable to CVE-2025-30189") print(f"Shared cache key: {shared_key}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-30189", "sourceIdentifier": "[email protected]", "published": "2025-10-31T09:15:47.313", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "When cache is enabled, some passdb/userdb drivers incorrectly cache all users with same cache key, causing wrong cached information to be used for these users. After cached login, all subsequent logins are for same user. Install fixed version or disable caching either globally or for the impacted passdb/userdb drivers. No publicly available exploits are known."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "baseScore": 7.4, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.2, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-1250"}]}], "references": [{"url": "https://documentation.open-xchange.com/dovecot/security/advisories/csaf/2026/oxdc-adv-2026-0001.json", "source": "[email protected]"}, {"url": "http://seclists.org/fulldisclosure/2025/Oct/29", "source": "af854a3a-2127-422b-91ae-364da2661108"}, {"url": "http://www.openwall.com/lists/oss-security/2025/10/29/4", "source": "af854a3a-2127-422b-91ae-364da2661108"}]}}