CVE-2026-67260

High

Description

Apache Airflow 3.3.0 moved human-in-the-loop tasks from the triggerer to a new `awaiting_input` task state swept by the scheduler. That sweep deserializes the task instance's `next_kwargs` 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 `allowed_deserialization_classes` 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.

SeverityHigh
CVSS7.3
Exploit probability—
ProductApache Airflow
PublishedAug 12, 2026
First seenAug 12, 2026

How to fix

Update
  • apache airflow3.3.1 or later
  • apache-airflow3.3.1 or later

Affected products

ProductAffected versionsFixed in
apache airflow3.3.0 ≤ v < 3.3.13.3.1
apache-airflowPyPI3.3.0 ≤ v < 3.3.13.3.1

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.

CVE-2026-67260 · Apache Airflow · Dark Radar