Apache Airflow Vulnerable to Deserialization of Untrusted Data
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 versions
| Package | Affected | Fixed in |
|---|---|---|
| apache-airflow PyPI | >= 3.2.0, < 3.2.2 | 3.2.2 |
Details and references
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-502
- Also known as
- BIT-airflow-2026-45360, CVE-2026-45360, PYSEC-2026-186
- nvd.nist.gov/vuln/detail/CVE-2026-45360
- github.com/apache/airflow/pull/61461
- github.com/apache/airflow/pull/66737
- github.com/apache/airflow
- github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-186.yaml
- lists.apache.org/thread/q227dghjwgfz8xsxrf2pwpz4wk43zm83
- www.openwall.com/lists/oss-security/2026/05/31/12