CVE-2025-54550: Apache Airflow: RCE by race condition in example_xcom dag
The example example_xcom that was included in airflow documentation implemented unsafe pattern of reading value
from xcom in the way that could be exploited to allow UI user who had access to modify XComs to perform arbitrary
execution of code on the worker. Since the UI users are already highly trusted, this is a Low severity vulnerability.
It does not affect Airflow release - example_dags are not supposed to be enabled in production environment, however
users following the example could replicate the bad pattern. Documentation of Airflow 3.2.0 contains version of
the example with improved resiliance for that case.
Users who followed that pattern are advised to adjust their implementations accordingly.
Security readout for executives and security teams
Plain-English summary
This issue concerns an unsafe pattern in Airflow's example_xcom documentation. A trusted UI user able to modify XCom data could potentially run arbitrary code on a worker if an organization enabled the example in production or copied its pattern. Apache states normal Airflow releases are unaffected and rates the issue Low.
Executive priority
Treat this as a targeted configuration and code-review priority, not an emergency fleet-wide Airflow patch. Ask owners to confirm production examples are disabled and custom DAGs do not copy the pattern. Escalate if untrusted or broadly assigned users can modify XComs, because successful abuse could compromise worker confidentiality and integrity.
Technical view
The example_xcom DAG read attacker-modifiable XCom values in an unsafe manner, creating a CWE-94 code-execution path on an Airflow worker. Exploitation requires an authenticated UI user with permission to modify XComs. The bundle reports CVSS 3.1 8.1, although Apache assesses contextual severity as Low because example DAGs should not run in production and UI users are highly trusted.
Likely exposure
Exposure is limited to deployments that enabled example_xcom in production or reproduced its unsafe XCom-reading pattern in custom DAGs. The supplied affected-product metadata lists Airflow releases as unaffected and does not identify a vulnerable released version. Environments restricting XCom modification to highly trusted users have an additional barrier, but should still review copied implementations.
Exploitation context
The source bundle does not report active exploitation, and CVE-2025-54550 is not listed as KEV in the supplied data. Abuse requires a UI user who can modify XComs, followed by execution through the vulnerable DAG pattern on a worker. No evidence supplied establishes widespread deployment or exploitation of that pattern.
Researcher notes
Important source ambiguity remains: the bundle labels severity High with CVSS 8.1, while Apache calls it Low and says releases are unaffected. The affected-version entry is only “0” with default status unaffected, so it does not establish a vulnerable release range. Analysis should focus on provenance and data flow in copied DAG code, not package-version matching alone.
Mitigation direction
Keep example DAGs disabled in production environments.
Find and revise custom DAGs derived from the unsafe example_xcom pattern.
Compare affected implementations with the resilient example documented for Airflow 3.2.0.
Restrict XCom modification privileges to users who require them.
Check Apache guidance and the referenced change before adopting implementation-specific fixes.
Validation and detection
Confirm example_xcom and other example DAGs are disabled in production.
Search custom DAGs for logic copied or adapted from example_xcom.
Identify every UI role and user permitted to modify XCom values.
Verify revised DAGs do not treat mutable XCom content as executable code.
Review relevant worker activity for unexpected code execution associated with affected DAGs.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-94: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
2ADP providers
3Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-94 · source CWE mapping
Improper Control of Generation of Code ('Code Injection')
Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.