Apache Airflow: Command injection in "example_dag_decorator"
An example dag `example_dag_decorator` had non-validated parameter that allowed the UI user to redirect the example to a malicious server and execute code on worker. This however required that the example dags are enabled in production (not default) or the example dag code copied to build your own similar dag. If you used the `example_dag_decorator` please review it and apply the changes implemented in Airflow 3.0.5 accordingly.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-54941
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 23:50 UTC · Revision 1
Source evidence
Apache Airflow: Command injection in "example_dag_decorator"
core-osv · Original sourcePublished 30 Oct 2025, 09:45 UTC
An example dag `example_dag_decorator` had non-validated parameter that allowed the UI user to redirect the example to a malicious server and execute code on worker. This however required that the example dags are enabled in production (not default) or the example dag code copied to build your own similar dag. If you used the `example_dag_decorator` please review it and apply the changes implemented in Airflow 3.0.5 accordingly.
osv:CVE-2025-54941
Complete source record
{
"id": "eb4f9d9fc5a202b32d5768c6818f404cde4bad63b4cde407ca8cc3b2338a17ea",
"url": "https://osv.dev/vulnerability/CVE-2025-54941",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Apache Airflow: Command injection in \"example_dag_decorator\"",
"summary": "An example dag `example_dag_decorator` had non-validated parameter that allowed the UI user to redirect the example to a malicious server and execute code on worker. This however required that the example dags are enabled in production (not default) or the example dag code copied to build your own similar dag. If you used the `example_dag_decorator` please review it and apply the changes implemented in Airflow 3.0.5 accordingly.",
"evidence": "osv:CVE-2025-54941",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2025-54941",
"aliases": [
"BIT-airflow-2025-54941",
"CVE-2025-54941",
"GHSA-v3c9-j6h9-66v4",
"PYSEC-2026-1135"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/apache/airflow",
"type": "GIT",
"events": [
{
"introduced": "1fc3442f1307fdf5e1221b26f41266c4fed330d3"
},
{
"fixed": "2e82233adeee19bdfeb9b5ad8916df2090f0a00e"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.0.5"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-54941.json"
}
}
],
"modified": "2026-10-28T02:30:40.330781036Z",
"provider": "osv",
"references": [
"https://pypi.python.org",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54941.json",
"https://lists.apache.org/thread/c6q6nofc6xl5bms039ks9b34v0v36df1",
"https://nvd.nist.gov/vuln/detail/CVE-2025-54941"
],
"provider_metadata": {
"cwe_ids": [
"CWE-78"
],
"cna_assigner": "apache",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "< 3.0.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54941.json"
}
},
"related_cves": [
{
"value": "CVE-2025-54941",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 508130,
"published_at": "2025-10-30T09:45:26.712+00:00"
}