CVE-2026-67587: Apache Airflow Remote Code Execution via Callback Deserialization
Summary
CVE-2026-67587: Apache Airflow's Task SDK rebuilt a Callback object from serialized data by re-running its constructor, which imports the module named by the stored callback path. Affects airflow versions >= 3.3.0, < 3.3.1. Fixed in 3.3.1. How to fix ↓
Also tracked for
- apache-airflow · PyPI
- apache-airflow · PyPI
The same CVE-2026-67587 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
Apache Airflow is an open-source platform designed to programmatically author, schedule, and monitor workflows. It allows users to define complex workflows as Directed Acyclic Graphs (DAGs) and provides a rich set of features for task management, scheduling, and monitoring. However, certain versions of Airflow are vulnerable to a remote code execution issue due to improper handling of serialized data in its Task SDK.
Vulnerability Detail
The vulnerability arises from the way Apache Airflow's Task SDK reconstructs a Callback object from serialized data. This process involves re-running the constructor of the Callback, which imports a module specified by the stored callback path. Since SyncCallback is an Airflow class, it adheres to the default allowed_deserialization_classes allow-list, making it ineffective to tighten this setting. An attacker, acting as a DAG author, can manipulate a task instance's next_kwargs through the task execution API, leading to arbitrary module imports in the scheduler process during the deserialization sweep. This vulnerability affects versions prior to 3.3.0, as the relevant scheduler sweep was not present in earlier versions. The issue is distinct from other known vulnerabilities (CVE-2026-58076 and CVE-2026-67260) and requires specific attention to address.
How To Fix
Minimum fixed version
3.3.1
This is the first release that contains the fix.
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
Currently, there are no specific workarounds mentioned for this vulnerability other than upgrading to the patched version. Users are encouraged to monitor their Airflow configurations and limit access to trusted DAG authors.
Conclusion
The CVE-2026-67587 vulnerability in Apache Airflow poses a significant risk of remote code execution due to improper deserialization of Callback objects. Users are strongly advised to upgrade to version 3.3.1 or later to mitigate this risk. Regular monitoring and adherence to best practices in managing DAG authorship can further enhance security.
See every vulnerability recorded for airflow →
FAQ
CVE-2026-67587 is a vulnerability in Apache Airflow that allows remote code execution through improper deserialization of a Callback object.
Versions of Apache Airflow prior to 3.3.1 are affected by this vulnerability.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.
While there are no specific workarounds, it is advisable to limit access to DAG authors and monitor your Airflow configurations closely until you can upgrade.
Vulert is a tool that monitors and alerts in real-time for open-source vulnerabilities in software using a manifest file like package-lock.json.
Related vulnerabilities
Recent vulnerabilities recorded for airflow.