CVE-2026-33264CWE-502

Apache Airflow: DAG author RCE on webserver via unrestricted import_string() in BaseSerialization.deserialize()

Critical · published July 7, 2026

CVSS v3.1
9.8
EPSS
2%
Percentile
76.3
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.01649 · 76.3th percentile
Weakness
CWE-502 · Deserialization of Untrusted Data
Published
2026-07-07T09:20Z
EPSS history
Timeline
  • 07 JUL 09:20Z
    Apache Airflow: DAG author RCE on webserver via unrestricted import_string() in BaseSerialization.deserialize()
    cvelistv5