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, w
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.
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Python (PyPI) | apache-airflow | >= 3.3.0, < 3.3.1 | 3.3.1 |
Verweise
- https://nvd.nist.gov/vuln/detail/CVE-2026-58076
- https://github.com/apache/airflow/pull/68511
- https://github.com/apache/airflow/commit/3a08a3d7792335ac9456cd44c92d8de3ae0d6ec1
- https://github.com/apache/airflow/commit/560f117525d201ed64327c4185050705339e07b1
- https://github.com/apache/airflow
- https://github.com/apache/airflow/releases/tag/3.3.1
- https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3991.yaml
- https://lists.apache.org/thread/t81p688t15jozxsng8521o60nh2kfsos
- https://www.cve.org/CVERecord?id=CVE-2026-33264
- https://github.com/advisories/GHSA-8prw-8m6x-8w6f
- CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H- Schwäche (CWE)
CWE-502- Plattform
- Python (PyPI)
- Paket
apache-airflow- Veröffentlicht
- 12.08.2026
- Aktualisiert
- 15.10.2026 18:17
Quellen und Lizenzen
OSV / GitHub Advisory Database - PYSEC-2026-3991 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-8prw-8m6x-8w6f - CC BY 4.0
Schwachstellenhistorie: apache-airflow
Alle veröffentlichten Schwachstellen dieses Pakets (Python (PyPI)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 158
- Erste → letzte
- 08.2018 09.2026
- Ohne Fix
- 4
- In Angriffen ausgenutzt
- 2
Verteilung nach Schweregrad
- Kritisch 16
- Hoch 49
- Mittel 86
- Niedrig 7
Veröffentlichungen pro Jahr
- 2018: 1
- 2019: 8
- 2020: 12
- 2021: 5
- 2022: 16
- 2023: 31
- 2024: 18
- 2025: 6
- 2026: 61
-
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, w dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.