apache/airflow · Security
Apache Airflow allows code execution through unsafe serialized DAG deserialization
- GHSA ID
- GHSA-2943-9672-r45w
- CVE ID
- CVE-2026-33264
- Severity
- critical
- Published
- Updated
- CVSS
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Description
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.
CWEs
- CWE-502 · Deserialization of Untrusted Data
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-33264 ↗
- https://github.com/apache/airflow/pull/66002 ↗
- https://github.com/apache/airflow/pull/68528 ↗
- https://lists.apache.org/thread/otvdw8qt2y7xy2n5nq9xby9ky4rf5ltj ↗
- http://www.openwall.com/lists/oss-security/2026/07/07/1 ↗
- https://github.com/apache/airflow/commit/69b6c54ef17b048ebb0e9a656d0d9e1c99480d6b ↗
- https://github.com/apache/airflow/commit/7e9bdb245e09373d91fcb7bda575ad4be63aa28d ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-2082.yaml ↗
- https://github.com/advisories/GHSA-2943-9672-r45w ↗