CVE-2026-96285

HIGH
MEDIUM Priority: 0.05 BB Relevance: 68/100
Published: 2026-11-09 Modified: 2026-11-12 First seen: 2026-11-09 Status: active

Attack Surface

Network Low Complexity No Interaction Conf. Impact Integ. Impact

CVSS Vector Breakdown

AV: Network
AC: Low
PR: Low
UI: None
S: Unchanged
C: High
I: High
A: High

Description

Apache Airflow 3.3.1 shipped a fix for CVE-2026-67260 that checks the scheduler's decoded `next_kwargs` value is a dictionary, but performs that check only after deserializing the whole stored payload. Deserialization reconstructs nested objects of classes permitted by the deserialization allow-list — which by default includes Airflow's own classes — and runs their constructors inside the scheduler process before the check can reject the value. A Dag author, who controls a task's `next_kwargs` through the task execution API, can therefore still trigger constructor execution in the scheduler when the `awaiting_input` timeout sweep processes the task, and in the API server when the task instance is served to a worker using an older Execution API version; no non-default configuration is required. Versions before 3.3.0 are not affected. This is an incomplete fix for CVE-2026-67260: deployments that upgraded to 3.3.1 for that issue must also upgrade to apache-airflow 3.4.0 or later.

Affected Software (2)

VendorProductVersion
Apache Software Foundation Apache Airflow 3.3.0 < 3.4.0
Apache Software Foundation Apache Airflow 3.3.0 < 3.4.0

Bug Bounty Relevance

68 / 100
✓ Network accessible
✓ Low complexity
✓ No user interaction

CVSS Score

8.8 / 10.0 v3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

EPSS — Exploitation Probability

0.59%
Raw Score 0.005860
Percentile 48.6%
Date 2026-11-13

EPSS Trend

2026-11-13
0.00586
2026-11-12
0.00213
2026-11-10
0.00213

Intelligence Sources

mitre ref →
nvd ref →