Apache Airflow skips reserved-key check allowing task XComs to instantiate airflow classes (CVE-2026-111421)
A task author can write an XCom that causes the Execution API to deserialize and instantiate airflow.* classes in versions before 3.4.0.
Deserialization RCE in Apache Airflow Execution API
Apache Airflow's Task Execution API stores XCom values written by a task without the reserved-key check. When a user views them through the API with deserialization enabled, the server instantiates classes from the airflow.* namespace using arguments chosen by the Dag author. A Dag author can trigger this by writing XComs in their tasks; users with deserialization enabled in the API trigger it by viewing the values. Attackers gain arbitrary code execution. Apache Airflow users are affected.
What to do: Upgrade Apache Airflow to 3.4.0 or later. Users who fixed CVE-2026-59242 in 3.3.1 remain affected.
| Product | Affected | Fixed in |
|---|---|---|
| Apache Airflow | 3.3.1 | 3.4.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Apache Airflow's Task Execution API stored XCom values written by a task without the reserved-key check applied elsewhere, so a Dag author's task could write an XCom that, when a user later viewed it through the API with deserialization enabled, made the API server instantiate classes from the `airflow.*` namespace with arguments the Dag author chose. This is an incomplete fix for CVE-2026-59242: users who applied that fix in apache-airflow 3.3.1 remain affected through this route and should upgrade to apache-airflow 3.4.0 or later.
A task author can write an XCom that causes the Execution API to deserialize and instantiate airflow.* classes in versions before 3.4.0.
Today 1.6K readers · 2.4K views · 776 reads · all time 189K views