Read the docs
TI-2026-25681 Aliases CVE-2026-33264GHSA-2943-9672-r45w

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

Priority MEDIUM 52CWE-502Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and GitHub. Impact type from CWE-502.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.01649 76th percentileScored 2026-11-07
Fix Fixed Apache Airflow (Apache Software Foundation): 3.0.0, 3.3.0apache-airflow (PyPI): 3.3.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ApacheApache Airflowbefore 3.0.03.0.0Patch availableCNA
ApacheApache Airflow3.0.0 to before 3.3.03.3.0Patch availableCNA
—apache-airflow (PyPI)before 3.3.03.3.0Patch availableGHSA-2943-9672-r45w
  • Apache Airflow VendorApache Affected before 3.0.0 Fixed in 3.0.0 Patch available CNA
  • Apache Airflow VendorApache Affected 3.0.0 to before 3.3.0 Fixed in 3.3.0 Patch available CNA
  • apache-airflow (PyPI) Vendor— Affected before 3.3.0 Fixed in 3.3.0 Patch available GHSA-2943-9672-r45w

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*before 3.3.0VulnerableApache
  • cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:* Versions before 3.3.0 Vulnerable ·Apache

Remediation

  • Fix · CNA Apache Airflow (Apache Software Foundation) Fixed in 3.0.0
  • Fix · CNA Apache Airflow (Apache Software Foundation) Fixed in 3.3.0
  • Fix · GHSA-2943-9672-r45w apache-airflow (PyPI) Fixed in 3.3.0 Advisory →

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    Apache Airflow 3.3.0

    6 records Highest priority Priority MEDIUM 1 MEDIUM, 5 LOW

    Other records, highest priority first

    • TI-2026-36637 Apache Airflow: Task-instance API exposes secrets in deferred trigger kwargsPriority LOW 30
    • TI-2026-36482 Apache Airflow: Per-DAG read bypass discloses co-located DAGs' source via GET /api/v2/dagSources/{dag_id}Priority LOW 30
    • TI-2026-36154 Apache Airflow: Config API leaks per-key secrets backend kwargs - masker bypass on synthetic optionsPriority LOW 30
  • Release ·

    Apache Airflow 3.0.0

    5 records Highest priority Priority MEDIUM 1 MEDIUM, 4 LOW

    Other records, highest priority first

    • TI-2026-36637 Apache Airflow: Task-instance API exposes secrets in deferred trigger kwargsPriority LOW 30
    • TI-2026-36154 Apache Airflow: Config API leaks per-key secrets backend kwargs - masker bypass on synthetic optionsPriority LOW 30
    • TI-2026-36096 Apache Airflow: Bulk JSON Variables bypass should_hide_value_for_key - redact() called without the keyPriority LOW 30

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-33264
  2. 2026-10-03 Alias added: GHSA-2943-9672-r45w
  3. 2026-11-03 Fix available: [email protected], [email protected] · CNA

References

  • TI-2020-10905 Missing authentication in Apache Airflow KEVCVSS 3.1CRITICAL 9.8
  • TI-2020-09638 OS command injection in Apache Airflow KEVCVSS 3.1HIGH 8.8
  • TI-2022-19017 Apache Airflow <2.4.0 has an RCE in a bash example CVSS 3.1HIGH 8.8
  • TI-2021-16140 Apache Airflow: Variable Import endpoint missed authentication check CVSS 3.1CRITICAL 9.8
  • TI-2022-08169 Apache Airflow: RCE in example DAGs CVSS 3.1HIGH 8.8
  • TI-2024-26776 Apache Airflow: DAG Author Code Execution possibility in airflow-scheduler CVSS 3.1HIGH 8.8
See all 157 →

Sources