Skip to main content

Apache Airflow EUVDEUVD-2026-33584

| CVE-2026-46764 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
4.3
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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

Lifecycle Timeline

6
Source Code Evidence Fetched
Jun 01, 2026 - 18:38 vuln.today
Analysis Generated
Jun 01, 2026 - 18:38 vuln.today
CVSS changed
Jun 01, 2026 - 18:37 NVD
4.3 (MEDIUM)
Patch available
Jun 01, 2026 - 10:01 EUVD
CVE Published
May 31, 2026 - 12:45 nvd
UNKNOWN (no severity yet)
CVE Published
May 31, 2026 - 12:45 nvd
MEDIUM 4.3

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 8 pypi packages depend on apache-airflow (4 direct, 4 indirect)

Ecosystem-wide dependent count for version 3.2.2.

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

AnalysisAI

The event log detail endpoint in Apache Airflow before 3.2.2 applies a generic DAG-level audit log permission check rather than scoping authorization to the specific DAG that owns the requested event log entry, allowing any authenticated low-privilege user to read audit log entries belonging to DAGs outside their permitted scope. The flaw is a broken object-level authorization (IDOR) pattern - classified as CWE-639 - where the user-supplied event_log_id path parameter can reference log rows from unauthorized DAGs without triggering a rejection. No public exploit code exists and the issue is not listed in CISA KEV, but the attack is trivially executable by any authenticated Airflow user in a multi-tenant deployment.

Technical ContextAI

Apache Airflow's FastAPI-based public API exposes a GET /eventLogs/{event_log_id} endpoint for retrieving individual audit log entries stored in the Log database table. Prior to the fix, this endpoint was protected by the requires_access_dag('GET', DagAccessEntity.AUDIT_LOG) dependency, which verified that the requesting user held generic audit-log read rights on DAGs but did not resolve the specific dag_id bound to the requested event_log_id before making the authorization decision. CWE-639 (Authorization Bypass Through User-Controlled Key) is the root cause: the user-controlled integer key (event_log_id) determines which row is fetched, but the authorization check was not keyed to the same row's owning DAG. The fix in PR #67112 introduces a new requires_access_event_log dependency that first queries select(Log.dag_id).where(Log.id == event_log_id) and then calls requires_access_dag scoped to that specific DAG, closing the gap. The affected component is airflow-core/src/airflow/api_fastapi/core_api/routes/public/event_logs.py and the associated security middleware in security.py. CPE cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:* covers all versions up to 3.2.2.

RemediationAI

Upgrade to Apache Airflow 3.2.2 or later, which replaces the generic requires_access_dag guard on the event log detail endpoint with the new requires_access_event_log dependency that performs per-row DAG-scoped authorization. The upstream code fix is confirmed merged in GitHub pull request https://github.com/apache/airflow/pull/67112, and the vendor security advisory thread is at https://lists.apache.org/thread/ctrbj7q3m86g4qxmo9ponojgmzrcoqpv. As a compensating control for environments that cannot immediately upgrade, restrict network access to the /eventLogs/{event_log_id} API endpoint at the reverse-proxy or firewall layer to only users or service accounts whose scope already covers all DAGs, effectively eliminating cross-DAG leakage; note this will prevent legitimate scoped-user audit log access and may break downstream integrations. There is no known Airflow configuration flag to disable the vulnerable code path in place - an upgrade is the only complete remediation.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

CVE-2026-55255 HIGH POC
8.4 Jun 19

Cross-user flow execution in Langflow (< 1.9.1) lets any authenticated API-key holder run another user's flow by passing

Share

EUVD-2026-33584 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy