Safeguard
Vulnerability Analysis•

CVE-2024-0960: Medium Unsafe Deserialization in ai-flow 0.3.1

CVE-2024-0960: medium severity flaw in flink-extended ai-flow. Who is affected, how to check exposure and what to do now, with fix and mitigation notes.

Safeguard Security Team
3 min read

CVE-2024-0960 is a medium severity flaw (CVSS 5.0) in flink-extended ai-flow. The record names no fixed version. This guide covers who is affected, how to check your exposure, and what to do now.

What's affected

flink-extended ai-flow 0.3.1, cloudpickle.loads in ai_flow/cli/commands/workflow_command.py.

The record gives a CVSS base score of 5.0 (Medium), vector CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L. The weakness class is CWE-502.

The record scores this 5.0 Medium and says attack complexity is high and exploitation appears to be difficult.

The record says exploit details have been disclosed publicly, so assume that attackers can learn how the weakness works. The record names no fixed version. Check the project repository.

How to check if you're exposed

Run pip show ai-flow and compare with 0.3.1. Search for use of the workflow command with files you did not produce.

A free in-browser dependency scan at gold.safeguard.sh/scan can show whether a software package in your own projects matches this CVE, and the Gold directory entry for CVE-2024-0960 keeps the record details in one place. Reachability analysis helps you separate installations where the vulnerable code can actually be hit from those where it sits unused.

For hardware and appliances, no scanner will find them unless they are in an inventory, so start with a list of every device and application of this kind on your network.

What to do now

  1. Identify every instance of flink-extended ai-flow in your environment, including test and forgotten systems.
  2. Compare the version you found with the affected range above.
  3. Look for a fixed release from the vendor or project. The record names no fixed version.
  4. Apply mitigations while you wait: never feed the workflow command data from untrusted sources.
  5. Review logs around the affected component for unusual requests.
  6. Record the decision and a re-check date in your vulnerability tracker.

Why it matters

The weakness is deserialization of untrusted data, CWE-502. Python pickle style formats can run code as part of loading, so opening a file or message from an untrusted source is the same as running it. The record notes that the attack depends on the victim loading a crafted file.

The practical rule is simple: never load pickle or cloudpickle data from a source you do not control. Where a library offers a safer format, use it, and treat any model or dataset file from outside your organization as untrusted input.

The record shows this CVE is not in the CISA Known Exploited Vulnerabilities catalog, and none of the pages used for this article report exploitation in the wild.

Quick check

Is loading a pickle file safe if it looks like a dataset?

No. Pickle based loading can run code, so only load files you created or can verify.

Where can I confirm the fixed version?

Check the vendor or project advisory first. The record names no fixed version. This article is based on the NVD record and the pages listed under Sources.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.