Quick answers
- Is CVE-2026-33858 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-33858 being exploited in the wild.
- How severe is CVE-2026-33858?
- High severity, with a CVSS score of 8.8, published 13 April 2026.
- Which products and versions are affected?
- Apache Airflow >= 3.1.8, < 3.2.0; apache-airflow (PyPI) >= 3.1.8, < 3.2.0, ECOSYSTEM:introduced=3.1.8,fixed=3.2.0.
- Is there a fix for CVE-2026-33858?
- Yes. apache-airflow (PyPI): upgrade to 3.2.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-33858 attacked?
- It is attacked over the network, in a network appliance.
- Am I affected by CVE-2026-33858?
- Check whether you run Apache Airflow or apache-airflow (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- apache-airflow (PyPI): upgrade to 3.2.0 or later
pip install "apache-airflow>=3.2.0"
Technical details
A vulnerability exists in Apache Airflow's XCom API due to unsafe deserialization of untrusted data (CWE-502). The root cause is a bypass of legacy serialization key protections (specifically `__type` and `__var`) that occurred during a refactoring of the task-sdk and core dependencies. An attacker with DAG author privileges can craft a malicious XCom payload that, when processed by the webserver, triggers arbitrary code execution. This effectively allows a user with 'Low' privileges (in the context of network access/Airflow roles) to achieve Remote Code Execution (RCE) on the webserver. The issue is resolved in version 3.2.0 by re-implementing validation for reserved serialization keys.
Affected products
- Apache Airflow >= 3.1.8, < 3.2.0
Identifiers
- CVE-2026-33858
- GHSA-mc4f-r875-v87w
- PYSEC-2026-20
Timeline
- 2026-03-27: patched: Fix merged into main branch via PR #64148
- 2026-04-13: advisory: Initial disclosure and CVE assignment