apache-airflow: Apache Airflow XCom API permits unsafe deserialization through JSON string literals
What fixes it
- 3.3.1apache-airflow, pipGitHub
- 3.3.1Apache AirflowCVE List
- 3.3.1apache-airflow, PyPIOSV
pip install "apache-airflow>=3.3.1"
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Apache Airflow's XCom GET /api/v2/{...}/xcomEntries/{key}?deserialize=true endpoint passed a string-literal payload through BaseXCom.deserialize_value without the _check_forbidden_xcom_keys guard, allowing an authenticated API user with XCom write-and-read access to instantiate arbitrary airflow.* classes on the API server (CWE-502). An authenticated user who can write an XCom value and then read it back with deserialize=true triggers the unsafe instantiation. Users are advised to upgrade to apache-airflow 3.3.1 or later, which rejects reserved XCom serialization keys submitted as JSON string literals.
Text from CVE List
Affected versions 53
- apache-airflow, pip< 3.3.1GitHub
- Apache Airflowaffected: all versions before 3.3.1CVE List
- apache-airflow, PyPIfrom first release, fixed in 3.3.1OSV
- apache-airflow, PyPI1.10.0OSV
- apache-airflow, PyPI1.10.1OSV
- apache-airflow, PyPI1.10.10OSV
- apache-airflow, PyPI1.10.10rc1OSV
- apache-airflow, PyPI1.10.10rc2OSV
- apache-airflow, PyPI1.10.10rc3OSV
- apache-airflow, PyPI1.10.10rc4OSV
- apache-airflow, PyPI1.10.10rc5OSV
- apache-airflow, PyPI1.10.11OSV
- apache-airflow, PyPI1.10.11rc1OSV
- apache-airflow, PyPI1.10.11rc2OSV
- apache-airflow, PyPI1.10.12OSV
- apache-airflow, PyPI1.10.12rc1OSV
- apache-airflow, PyPI1.10.12rc2OSV
- apache-airflow, PyPI1.10.12rc3OSV
- apache-airflow, PyPI1.10.12rc4OSV
- apache-airflow, PyPI1.10.13OSV
- apache-airflow, PyPI1.10.13rc1OSV
- apache-airflow, PyPI1.10.14OSV
- apache-airflow, PyPI1.10.14rc1OSV
- apache-airflow, PyPI1.10.14rc2OSV
- apache-airflow, PyPI1.10.14rc3OSV
- apache-airflow, PyPI1.10.14rc4OSV
- apache-airflow, PyPI1.10.15OSV
- apache-airflow, PyPI1.10.15rc1OSV
- apache-airflow, PyPI1.10.1b1OSV
- apache-airflow, PyPI1.10.1rc2OSV
- apache-airflow, PyPI1.10.2OSV
- apache-airflow, PyPI1.10.2b2OSV
- apache-airflow, PyPI1.10.2rc1OSV
- apache-airflow, PyPI1.10.2rc2OSV
- apache-airflow, PyPI1.10.2rc3OSV
- apache-airflow, PyPI1.10.3OSV
- apache-airflow, PyPI1.10.3b1OSV
- apache-airflow, PyPI1.10.3b2OSV
- apache-airflow, PyPI1.10.3rc1OSV
- apache-airflow, PyPI1.10.3rc2OSV
- apache-airflow, PyPI1.10.4OSV
- apache-airflow, PyPI1.10.4b2OSV
- apache-airflow, PyPI1.10.4rc1OSV
- apache-airflow, PyPI1.10.4rc2OSV
- apache-airflow, PyPI1.10.4rc3OSV
- apache-airflow, PyPI1.10.4rc4OSV
- apache-airflow, PyPI1.10.4rc5OSV
- apache-airflow, PyPI1.10.5OSV
- apache-airflow, PyPI1.10.5rc1OSV
- apache-airflow, PyPI1.10.6OSV
- apache-airflow, PyPI1.10.6rc1OSV
- apache-airflow, PyPI1.10.6rc2OSV
- apache-airflow, PyPI1.10.7OSV
References 8
- github.com/apache/airflow/pull/69378Fixvia CVE List
- github.com/apache/airflow/commit/78abd3044654d44d711eb61e475029fd1b1ccc23Fixvia GitHub
- github.com/apache/airflow/commit/d08ddc0127d5be7f9b31c1f935bc4d25a897a848Fixvia GitHub
- github.com/apache/airflow/releases/tag/3.3.1Fixvia GitHub
- lists.apache.org/thread/dm0520yhh4mn7qknyoh45r2w6c5qg2mgAdvisoryvia CVE List
- github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3992.yamlAdvisoryvia GitHub
- github.com/advisories/GHSA-fcmm-42r9-mmmmAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-59242Referencevia GitHub