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.
Published: 2026-08-12
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Apache Airflow 3.3.0 introduced a new awaiting_input state that is swept by the scheduler every fifteen seconds. During this sweep the scheduler blindly deserializes the task instance’s next_kwargs. Because the deserialization is not limited by an allow-list, an attacker who can set that value—such as a DAG author using the task execution API—can import an arbitrary module and instantiate objects inside the scheduler process, or even terminate the scheduler job. This flaw is a classic instance of untrusted deserialization and thus allows remote code execution without any special configuration changes.

Affected Systems

The vulnerability applies exclusively to Apache Airflow version 3.3.0. Earlier releases are unaffected because human‑in‑the‑loop tasks were routed through the triggerer rather than the scheduler. Users who have applied the fix for CVE-2026-58076 must still update to Apache Airflow 3.3.1 or newer to address this distinct code path.

Risk and Exploitability

With a CVSS score of 7.3 the flaw is considered high severity, and the EPSS score is not available, indicating no current metric for exploitation probability. The vulnerability is not listed in the CISA KEV catalog. An attacker can exploit the flaw by creating or modifying a DAG so that its next_kwargs payload contains malicious serialization, and then triggering the scheduler’s periodic sweep. No non‑default configuration is required; the deserialization path is executed unconditionally every fifteen seconds. Consequently, any Airflow instance running 3.3.0 without the update is at considerable risk of remote code execution.

Generated by OpenCVE AI on August 13, 2026 at 00:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Apache Airflow to version 3.3.1 or later to eliminate the vulnerable deserialization path.
  • If an immediate patch is not possible, remove or disable human‑in‑the‑loop tasks that rely on the awaiting_input state, or migrate them to use the triggerer only.
  • Configure the allowed_deserialization_classes setting to whitelist only trusted classes, thereby limiting the scope of objects that can be instantiated during deserialization.

Generated by OpenCVE AI on August 13, 2026 at 00:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 17 Aug 2026 19:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*

Wed, 12 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache airflow
Vendors & Products Apache
Apache airflow

Wed, 12 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 12 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
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.
Title Apache Airflow: DAG-author remote code execution on the Scheduler via awaiting_input next_kwargs deserialization
Weaknesses CWE-502
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-08-12T16:25:35.884Z

Reserved: 2026-07-29T10:04:08.525Z

Link: CVE-2026-67260

cve-icon Vulnrichment

Updated: 2026-08-12T16:00:03.271Z

cve-icon NVD

Status : Analyzed

Published: 2026-08-12T16:17:14.813

Modified: 2026-08-17T19:07:20.817

Link: CVE-2026-67260

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T00:30:06Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data