Skip to content
OpenAdvisories
High · 8.8 CVE-2026-96285 EUVD-2026-119900GHSA-h6xc-w3fp-2wwj

Apache Airflow: Scheduler: next_kwargs deserialized before the dict check, so resume data still invokes constructors

Published Nov 9, 2026 · Updated Nov 12, 2026 · Assigned by apache

Description

Apache Airflow 3.3.1 shipped a fix for CVE-2026-67260 that checks the scheduler's decoded `next_kwargs` value is a dictionary, but performs that check only after deserializing the whole stored payload. Deserialization reconstructs nested objects of classes permitted by the deserialization allow-list — which by default includes Airflow's own classes — and runs their constructors inside the scheduler process before the check can reject the value. A Dag author, who controls a task's `next_kwargs` through the task execution API, can therefore still trigger constructor execution in the scheduler when the `awaiting_input` timeout sweep processes the task, and in the API server when the task instance is served to a worker using an older Execution API version; no non-default configuration is required. Versions before 3.3.0 are not affected. This is an incomplete fix for CVE-2026-67260: deployments that upgraded to 3.3.1 for that issue must also upgrade to apache-airflow 3.4.0 or later.

Affected products

VendorProductAffectedFixed
Apache Software Foundation Apache Airflow 3.3.0 – < 3.4.0 3.4.0

Advisories 1

References