CVE-2025-63675
BaseFortify
Publication date: 2025-10-31
Last updated on: 2025-12-08
Assigner: MITRE
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| netinvent | cryptidy | to 1.2.4 (inc) |
Helpful Resources
Exploitability
| 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]