Executive brief
Apache Airflow 3.3.0 introduced a new human-in-the-loop task scheduling mechanism that processes task metadata on the scheduler every 15 seconds. A DAG author can exploit unsafe deserialization of task parameters to execute arbitrary code or crash the scheduler, compromising the integrity and availability of the entire Airflow workflow system.
Technical details
This vulnerability is an unsafe deserialization flaw (CWE-502) in Apache Airflow 3.3.0's new `awaiting_input` task state handler. The scheduler's periodic sweep (every 15 seconds by default) deserializes a task instance's `next_kwargs` field without validating against an allow-list. A DAG author who controls task execution API inputs can inject malicious serialized objects that trigger arbitrary module imports and object instantiation within the scheduler process, or cause denial of service via unhandled exceptions. The vulnerability affects all Airflow 3.3.0 deployments by default, as the unsafe code path runs unconditionally regardless of configuration. Patches are available in Airflow 3.3.1 and later.
Affected products
- Apache Airflow 3.3.0
Timeline
- 2026-08-12: disclosed
- 2026-08-05: patched: Fixed in 3.3.1 and later