Skip to main content

Apache Airflow CVE-2026-59242

| EUVDEUVD-2026-57312 MEDIUM
Deserialization of Untrusted Data (CWE-502)
2026-08-12 apache GHSA-fcmm-42r9-mmmm
5.4
CVSS 3.1 · Vendor: apache
Share

Severity by source

Vendor (apache) PRIMARY
5.4 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
vuln.today AI
7.1 HIGH

Network-reachable REST API requires authenticated low-privilege user with XCom write-and-read access; primary impact is credential confidentiality via Connection class instantiation, with limited integrity exposure and no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

4
CVSS changed
Aug 12, 2026 - 17:22 NVD
5.4 (MEDIUM)
Source Code Evidence Fetched
Aug 12, 2026 - 16:24 vuln.today
Analysis Generated
Aug 12, 2026 - 16:24 vuln.today
CVE Published
Aug 12, 2026 - 15:35 cve.org
HIGH

DescriptionCVE.org

Apache Airflow's XCom GET /api/v2/{...}/xcomEntries/{key}?deserialize=true endpoint passed a string-literal payload through BaseXCom.deserialize_value without the _check_forbidden_xcom_keys guard, allowing an authenticated API user with XCom write-and-read access to instantiate arbitrary airflow.* classes on the API server (CWE-502). An authenticated user who can write an XCom value and then read it back with deserialize=true triggers the unsafe instantiation. Users are advised to upgrade to apache-airflow 3.3.1 or later, which rejects reserved XCom serialization keys submitted as JSON string literals.

AnalysisAI

Unsafe deserialization in Apache Airflow's XCom REST API allows an authenticated user with XCom write-and-read access to instantiate arbitrary airflow.* classes on the API server by smuggling reserved serialization keys inside JSON string literals. The _check_forbidden_xcom_keys guard inspected dict, list, and tuple types but did not attempt to JSON-decode str values, so a payload like json.dumps({"__classname__": "airflow.sdk.definitions.connection.Connection"}) passed the write-time check and was later reconstructed into a live Python object when read back via ?deserialize=true. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
Obtain authenticated Airflow API credentials with XCom write-and-read permissions
Delivery
Craft XCom write request with reserved-key payload as JSON string literal
Exploit
Write bypasses _check_forbidden_xcom_keys guard (string not inspected)
Install
Issue GET request with ?deserialize=true on stored entry
C2
API re-parses string to dict, passes to deserialize_value
Execute
Arbitrary airflow.* class instantiated on server
Impact
Exfiltrate credentials or escalate within Airflow environment

Vulnerability AssessmentAI

Exploitation Exploitation requires an authenticated Airflow API session with at minimum two specific permissions: XCom write access (to POST or PATCH an XCom entry with a reserved-key payload encoded as a JSON string literal) and XCom read access (to trigger deserialization by appending `?deserialize=true` to the GET request). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment No CVSS vector or EPSS score is provided in the available data, so risk signals must be inferred entirely from the description and PR diff. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker with a valid Airflow API account possessing XCom write-and-read permissions crafts a POST request to the XCom entries endpoint, submitting a value of `json.dumps({"__classname__": "airflow.sdk.definitions.connection.Connection", "__var": {}})` - a string that passes the forbidden-key guard because the guard does not inspect string contents. The attacker then issues `GET .../xcomEntries/{key}?deserialize=true`, causing the API server to re-parse the string into a dict and pass it to `BaseXCom.deserialize_value`, which instantiates the `Connection` class and potentially exposes stored credentials or connection metadata embedded in the resulting object.
Remediation Upgrade to apache-airflow 3.3.1 or later, which incorporates the fix from PR #69378 and rejects reserved XCom serialization keys submitted as JSON string literals at write time (HTTP 422 returned). … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: inventory all Apache Airflow deployments and document current versions; review XCom REST API access logs and user permissions to identify who holds write-and-read access. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

CVE-2026-33264 CRITICAL
9.8 Jul 07

Remote code execution in Apache Airflow before 3.3.0 lets a DAG author embed a malicious trigger whose attacker-controll

CVE-2026-67587 HIGH
8.8 Aug 12

Unsafe deserialization in Apache Airflow 3.3.0's Task SDK allows an authenticated DAG author to cause arbitrary module i

CVE-2026-58076 HIGH
8.8 Aug 12

Unsafe deserialization in Apache Airflow 3.0.0 through 3.3.0 allows any DAG author to achieve arbitrary code execution i

CVE-2026-30898 HIGH
8.8 Apr 18

Command injection in Apache Airflow's BashOperator documentation example allows authenticated attackers to escalate priv

CVE-2025-54550 HIGH
8.1 Apr 15

We need to produce a JSON object per the instructions. Let's analyze each field. First, product_name: "1-3 words ONLY.

CVE-2026-30911 HIGH
8.1 Mar 17

CVE-2026-30911 is a security vulnerability (CVSS 8.1) that allows any authenticated task instance. High severity vulnera

CVE-2025-66236 HIGH
7.5 Apr 13

Information disclosure in Apache Airflow 3.0.0 through 3.1.x stems from incomplete secret masking and under-documented w

CVE-2026-31987 HIGH
7.5 Apr 16

Apache Airflow 3.0.0 through 3.1.x exposes JWT authentication tokens in application logs, allowing any authenticated UI

CVE-2026-28779 HIGH
7.5 Mar 17

CVE-2026-28779 is a security vulnerability (CVSS 7.5) that allows any application co-hosted under the same domain. High

CVE-2026-32228 HIGH
7.5 Apr 18

Apache Airflow 3.0.x prior to 3.2.0 allows remote unauthenticated attackers to trigger unauthorized DAG (Directed Acycli

CVE-2026-68968 HIGH
7.5 Aug 12

Authorization bypass in Apache Airflow's Backfill API (all versions prior to 3.3.1) allows any authenticated user holdin

CVE-2026-67260 HIGH
7.3 Aug 12

Remote code execution and scheduler-process disruption in Apache Airflow 3.3.0 stems from unguarded deserialization of t

Share

CVE-2026-59242 vulnerability details – vuln.today

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