Description
Apache Airflow's scheduler-side deadline-reference decoder (`SerializedCustomReference.deserialize_reference`) imported and dispatched arbitrary class paths drawn from DAG-author-controlled serialized state without an allowlist or plugin-registry gate. A DAG author whose code reaches the scheduler — the default on single-host deployments where the DAG bundle is importable from the scheduler process — could embed a custom `DeadlineReference` whose serialized form named an attacker-controlled module path, causing the scheduler to `import_string(...)` and instantiate that class with a live SQLAlchemy session attached. Affects deployments where DAG-author code is less trusted than the scheduler process. Users are advised to upgrade to `apache-airflow` 3.2.2 or later.
Affected products
apache: airflow
References3
- lists.apache.org/thread/q227dghjwgfz8xsxrf2pwpz4wk43zm83 Mailing ListVendor Advisory
- github.com/apache/airflow/pull/66737 Issue TrackingPatch
- www.openwall.com/lists/oss-security/2026/05/31/12 Mailing ListThird Party Advisory
Metrics
- CVSS 3.1
-
7.3
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - EPSS — exploit probability
- 1% percentile: 53 · as of 15 November 2026
- CWE
- CWE-502
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.