Skip to main content
No exploitation reportedFix available

CVE-2026-33264

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

No exploitation reported by the sources we read.

  • Published2026-07-07
  • Fixed in3.3.0
  • WeaknessCWE-502

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

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.

Timeline

dates in UTC
  1. 2026-07-0709:20CVE publishedCNA

Versions per branch

NVD · OSV
Apache airflow
BranchAffectedFixed in
3.3< 3.3.03.3.0

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Products declared by the CNA2 products

As apache, the CNA that assigned this CVE, declared them in the CVE record; versions as written.

  • Apache Software Foundation Apache Airflowother versions: not affected

    package apache-airflowhttps://pypi.python.org

    Affected
    • < 3.0.0fixed in 3.0.0semver
  • Apache Software Foundation Apache Airflowother versions: not affected

    package apache-airflow-corehttps://pypi.python.org

    Affected
    • ≥ 3.0.0, < 3.3.0fixed in 3.3.0semver

Source: the CNA record (CVE Program), © The MITRE Corporation,CVE Terms of UseCVE recordupdated 2026-11-03

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • airflow-2MinimOSall versions · no fixed version listed
  • airflow-2Chainguardall versions · no fixed version listedand 1 other package
  • airflow-3MinimOSall versions · fixed in 3.3.0-r0
  • airflow-3CleanStartall versions · fixed in 3.2.2-r8
  • apache-airflowEcho:PyPIall versions · fixed in 3.3.0

Full record on NVD

Fix

  1. Update Apache airflow to 3.3.0

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof of concept
Metasploit modules
none listed
Metasploit Framework

Sources

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Published
2026-07-07
Last Modified
2026-11-03
NVD status
Analyzed
GitHub Advisory
GHSA-2943-9672-r45w

Frequently asked questions

What is CVE-2026-33264?

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.

Is CVE-2026-33264 actively exploited?

Active exploitation of CVE-2026-33264 has not been confirmed. Its EPSS score was 1.6% on 2026-11-08, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2026-33264?

CVE-2026-33264 has a CVSS v3 base score of 9.8 (CRITICAL severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Running airflow? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record