Skip to content

GHSA-p3v3-229h-mc63 BIT-airflow-2026-38743 CVE-2026-38743 PYSEC-2026-2351

Apache Airflow's authenticated /ui/dags endpoint did not enforce per-DAG access control on embedded Human-in-the-Loop (HITL) and TaskInstance record

Medium PyPI
Severity
4.3 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.35%
Chance of exploitation in the next 30 days. Higher than 28.88% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-1220 Insufficient Granularity of Access Control
Fix
3.2.1rc1
Upgrade apache-airflow to this version or later

Description

The authenticated /ui/dags endpoint did not enforce per-DAG access control on embedded Human-in-the-Loop (HITL) and TaskInstance records: a logged-in Airflow user with read access to at least one DAG could retrieve HITL prompts (including their request parameters) and full TaskInstance details for DAGs outside their authorized scope. Because HITL prompts and TaskInstance fields routinely carry operator parameters and free-form context attached to a task, the leak widens visibility of DAG-run data beyond the intended per-DAG RBAC boundary for every authenticated user.

Users are recommended to upgrade to version 3.2.1 , which fixes this issue.

Affected versions

PyPI

PackageVulnerableFixed in
apache-airflow
< 3.2.1rc1
3.2.1rc1

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

apache-airflow PyPI → 3.2.1rc1

pip
pip install --upgrade "apache-airflow>=3.2.1rc1"
poetry
poetry add "apache-airflow>=3.2.1rc1"
uv
uv add "apache-airflow>=3.2.1rc1"

Severity breakdown

CVSS 3.1 4.3

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Weakness

CWE-1220: Insufficient Granularity of Access Control

The product implements access controls via a policy or other feature with the intention to disable or restrict accesses (reads and/or writes) to assets in a system from untrusted agents. However, implemented access controls lack required granularity, which renders the control policy too broad because it allows accesses from unauthorized agents to the security-sensitive assets.

How to prevent it
  • Architecture and Design, Implementation, Testing: Access-control-policy protections must be reviewed for design inconsistency and common weaknesses. Access-control-policy definition and programming flow must be tested in pre-silicon, post-silicon testing.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
CVE-2020-13927
Authentication bypass in Apache Airflow
Critical Known exploited Also affects apache-airflow
CVE-2020-11978
Remote code execution (RCE) in Apache Airflow
High Known exploited Also affects apache-airflow
PYSEC-2026-3990
Apache Airflow: the Core API logout endpoint revokes only a session token presented as the _token cookie.
Critical Also affects apache-airflow
PYSEC-2026-3989
When a request to the Airflow core API carries both a session cookie and an explicit `Authorization: Bearer` token, Airflow resolves the caller from the cookie…
Medium Also affects apache-airflow
PYSEC-2026-3988
Apache Airflow's `/assets/events` API returned asset events for every Dag in the deployment, with no filter restricting them to the Dags the caller is…
Medium Also affects apache-airflow
GHSA-5247-m8w9-2v4m
Apache Airflow missing team context permits cross-team Dag actions and XCom reads
Medium Also affects apache-airflow
GHSA-f3c2-j7g8-vpp8
Apache Airflow Task SDK fails to mask list-shaped JSON Variables
Medium Also affects apache-airflow
GHSA-cjv4-7hp2-2x9h
Apache Airflow bulk endpoints log Variable and Connection secrets in cleartext
Medium Also affects apache-airflow
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor