CVE-2026-67260: Apache Airflow: DAG-author remote code execution on the Scheduler via awaiting_input next_kwargs deserialization
Apache Airflow 3.3.0 moved human-in-the-loop tasks from the triggerer to a new awaitinginput task state swept by the scheduler. That sweep deserializes the task instance's nextkwargs without an allow-list, so a Dag author — who controls that value through the task execution API — can cause an arbitrary module import and object instantiation inside the scheduler process, or terminate the scheduler job. No non-default configuration is required: the sweep runs unconditionally every 15 seconds, and the default alloweddeserializationclasses setting does not cover this code path. Versions before 3.3.0 are not affected, because human-in-the-loop tasks deferred onto the triggerer instead. This is a different code path from CVE-2026-58076, which covers the same unguarded exception-node deserialization reached elsewhere — deployments that applied that fix must upgrade for this issue as well. Users are advised to upgrade to apache-airflow 3.3.1 or later.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
apache-airflowto a version that resolves this vulnerability.Fixed in 3.3.1
Event History
Frequently Asked Questions
What is the severity of CVE-2026-67260?
CVE-2026-67260 has a risk rating of 76, indicating a high severity level.
How do I fix CVE-2026-67260?
To mitigate CVE-2026-67260, ensure you restrict input values in `next_kwargs` and validate them against a predefined allow-list.
What software is affected by CVE-2026-67260?
CVE-2026-67260 affects Apache Airflow version 3.3.0 and potentially other versions that do not implement input validation.
What kind of vulnerability is CVE-2026-67260?
CVE-2026-67260 is a remote code execution vulnerability that arises from insecure deserialization of task instance data.
Who can exploit CVE-2026-67260?
CVE-2026-67260 can be exploited by a Dag author who has control over the task execution API and can manipulate `next_kwargs`.