CVE-2025-63675
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-10-31

Last updated on: 2025-12-08

Assigner: MITRE

Description
cryptidy through 1.2.4 allows code execution via untrusted data because pickle.loads is used. This occurs in aes_decrypt_message in symmetric_encryption.py.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-10-31
Last Modified
2025-12-08
Generated
2026-06-16
AI Q&A
2025-10-31
EPSS Evaluated
2026-06-15
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
netinvent cryptidy to 1.2.4 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

CVE-2025-63675 is a remote code execution vulnerability in the Python library cryptidy (version 1.2.4 and earlier). It occurs because the aes_decrypt_message function in symmetric_encryption.py uses pickle.loads to deserialize data without validating it. This unsafe deserialization of untrusted data allows an attacker to craft malicious encrypted input that, when decrypted and deserialized, executes arbitrary code on the target system. [2]

Impact Analysis

This vulnerability can allow an attacker to remotely execute arbitrary code on your system by supplying malicious encrypted data to cryptidy. This could lead to unauthorized actions such as data theft, system compromise, or disruption of services. Because the vulnerability involves code execution without user interaction or privileges, it poses a significant security risk. [2]

Detection Guidance

Detection can involve monitoring for the presence or use of the vulnerable cryptidy version 1.2.4 or earlier, especially the use of the decrypt_message() function in cryptidy/symmetric_encryption.py that calls pickle.loads on untrusted data. On the system, you can check installed package versions or scan for the vulnerable file. For example, use commands like 'pip show cryptidy' to check the installed version. Network detection might involve inspecting incoming encrypted data for suspicious payloads, but no specific commands are provided. Additionally, reviewing logs for unexpected execution or deserialization activity may help. Since the vulnerability involves unsafe deserialization, monitoring for unusual process executions triggered by cryptidy could be indicative. [2]

Mitigation Strategies

Immediate mitigation steps include avoiding the use of pickle.loads on untrusted input in cryptidy. Replace pickle deserialization with safer alternatives such as JSON or libraries with explicit schemas. If binary serialization is necessary, implement strict validation and restrictions on allowed classes during deserialization, for example by using a safe unpickler or restricted alternatives like dill. Apply the principle of least privilege to the code performing deserialization to minimize impact. A quick fix can involve validating input types before calling pickle.loads, but the best solution is to remove pickle usage entirely and redesign the API to avoid code execution during deserialization. Additionally, update or patch cryptidy to a version that addresses this issue once available. [2]

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2025-63675. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart