CVE-2026-67260 json
Apache Airflow: DAG-author remote code execution on the Scheduler via awaiting_input next_kwargs deserialization
published 2026-08-12 2 mo ago modified 2026-11-03 6 d ago also BIT-airflow-2026-67260 , EUVD-2026-57275 , GHSA-q4c3-7575-55j2 , PYSEC-2026-3707
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 56%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi apache-airflow 3.3.1
- bitnami airflow 3.3.1
- Apache Software Foundation Apache Airflow 3.3.1
- github.com/apache/airflow@18b6229 commit
- github.com/apache/airflow@a1ab065 commit
- github.com/apache/airflow#70685 pull request
- github.com/apache/airflow/releases/tag/3.3.1 release
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.78% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| GitHub | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| OSV | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | apache-airflow | >=3.3.0, <3.3.1 |
3.3.1 |
| bitnami | airflow | >=3.3.0, <3.3.1 |
3.3.1 |
Affected products
- Apache Software Foundation Apache Airflow
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
github.com
/apache/airflow/pull/70685
patch, web, issue-tracking
-
github.com
/apache/airflow/commit/18b622920cf0f486155075125ecdcabc752b1eca
web
-
github.com
/apache/airflow/commit/a1ab0653121829675ad864080d2cd9d3d1688b01
web
-
lists.apache.org
/thread/vygr0fh82cjzjp5k4vtfmboxryvm3lyn
vendor-advisory, web, mailing-list, advisory
-
cve.org
/CVERecord?id=CVE-2026-58076
related, web, not-applicable
-
nvd.nist.gov
/vuln/detail/CVE-2026-67260
advisory, web
-
github.com
/apache/airflow
package
-
github.com
/apache/airflow/releases/tag/3.3.1
web
-
github.com
/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3707.yaml
web
-
github.com
/advisories/GHSA-q4c3-7575-55j2
advisory
Sources
- CVE List CVE-2026-67260
- GitHub Advisory GHSA-q4c3-7575-55j2
- NVD CVE-2026-67260
- OSV BIT-airflow-2026-67260
- OSV PYSEC-2026-3707
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.