CVE-2026-58076
HighCVSS 8.8Exploitation Probability (EPSS)
Low risk40th percentile - higher than 40% of all known CVEs
Summary
Apache Airflow's serialization layer reconstructs exception nodes by calling `import_string()` on a class name from the serialized blob and instantiating it with arguments from the same blob, with no restriction on what can be imported. A Dag author can place a value in `executor_config` that causes an arbitrary callable to be imported and invoked, e.g., `subprocess.check_output` or `builtins.eval`. The code runs in the Scheduler and API server, which per Airflow's security model must never execute Dag-author code.
Risk Assessment
The vulnerability allows arbitrary code execution in components holding metadata database credentials and the JWT signing secret, potentially leading to full system compromise. Even after upgrading in response to CVE-2026-33264, deployments remain affected through the exception branch.
Recommendation
Immediately upgrade Apache Airflow to version 3.3.1 or later, which restricts the imported class to a subclass of `BaseException`.
Original NVD description (English source)
Apache Airflow's serialization layer reconstructed exception nodes by calling `import_string()` on a class name taken from the serialized blob and instantiating it with arguments from the same blob, with no restriction on what could be imported. An operator's `executor_config` reaches that branch, so a Dag author could place a value there that causes an arbitrary callable to be imported and invoked -- for example `subprocess.check_output`, or `builtins.eval` on the `builtins`-prefixed variant. The code runs in the **Scheduler**, which reconstructs serialized Dags in its normal loop with no request involved, and in the **API server**, on any authenticated read of the Dag such as `GET /api/v2/dags/{dag_id}/details`. Both are components the Airflow security model states must never execute Dag-author code, and both hold the metadata database credentials and the JWT signing secret. No non-default configuration is required. This is a **different sink from CVE-2026-33264**, which covered only the trigger branch of the same deserializer: deployments that upgraded in response to that advisory are still affected through the exception branch and must upgrade again. Users are advised to upgrade to apache-airflow 3.3.1 or later, which restricts the imported class to a subclass of `BaseException`.

