Описание
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.
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2026-45360
- https://github.com/apache/airflow/pull/66737
- https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-186.yaml
- https://lists.apache.org/thread/q227dghjwgfz8xsxrf2pwpz4wk43zm83
- http://www.openwall.com/lists/oss-security/2026/05/31/12
Пакеты
apache-airflow
< 3.2.2
3.2.2
Связанные уязвимости
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.
Apache Airflow's scheduler-side deadline-reference decoder (`Serialize ...