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-05-07
AI Q&A
2025-10-31
EPSS Evaluated
2026-05-05
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 Powered Q&A
Can you explain this vulnerability to me?

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]


How can this vulnerability impact me? :

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]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

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]


What immediate steps should I take to mitigate this vulnerability?

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]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart