A bug in `BaseSerialization.deserialize()` allowed unrestricted `import_string()` of attacker-controlled class paths when the Scheduler / API Server loaded a serialized DAG: a DAG author could embed a malicious trigger into a DAG to gain remote code execution on the API Server / Scheduler process, crossing the Airflow security boundary that DAG-author code must never execute in those processes. Users are advised to upgrade to `apache-airflow` 3.3.0 or later. As a defense-in-depth mitigation, deployments where DAG-author trust is limited can restrict the `[core] allowed_deserialization_classes` config to a narrow allowlist.
Fix
Patch, vendor advisory and mitigation references on NVD 3
- https://github.com/apache/airflow/pull/66002 Issue Tracking, Patch
- https://github.com/apache/airflow/pull/68528 Issue Tracking, Patch
- https://lists.apache.org/thread/otvdw8qt2y7xy2n5nq9xby9ky4rf5ltj Vendor Advisory, Mailing List
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 9.8 · apacheNVD modified 2026-10-25 20:10
Affected (CPE criteria) 1
cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*
References 4
- https://github.com/apache/airflow/pull/66002 Issue Tracking, Patch
- https://github.com/apache/airflow/pull/68528 Issue Tracking, Patch
- https://lists.apache.org/thread/otvdw8qt2y7xy2n5nq9xby9ky4rf5ltj Vendor Advisory, Mailing List
- http://www.openwall.com/lists/oss-security/2026/07/07/1 Third Party Advisory, Mailing List