High

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

  • Disclosed: 12.08.2026
  • Updated: 15.10.2026 18:17

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.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) apache-airflow >= 3.3.0, < 3.3.1 3.3.1

References

CVSS score 8.8/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness (CWE)
CWE-502
Platform
Python (PyPI)
Package
apache-airflow
Disclosed
12.08.2026
Updated
15.10.2026 18:17

Sources and licenses

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

Vulnerability history: apache-airflow

All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (158) in the archive
Total entries
158
First → latest
08.2018 09.2026
Without a fix
4
Exploited in attacks
2

Severity breakdown

  • Critical 16
  • High 49
  • Medium 86
  • Low 7

Disclosures per year

  1. 2018: 1
  2. 2019: 8
  3. 2020: 12
  4. 2021: 5
  5. 2022: 16
  6. 2023: 31
  7. 2024: 18
  8. 2025: 6
  9. 2026: 61
Severity:
  1. 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 this entry
    High · 8.8 CVE-2026-58076 >= 3.3.0, < 3.3.1 3.3.1
  2. High · 7.3 CVE-2026-45360 >= 3.2.0, < 3.2.2 3.2.2
  3. High · 7.5 CVE-2026-31987 >= 3.0.0, < 3.2.0 3.2.0
  4. High · 8.1 CVE-2025-54550 < 3.2.0 3.2.0
  5. Critical · 9.1 CVE-2025-57735 >= 3.0.0, < 3.2.0 3.2.0
  6. High · 7.5 CVE-2025-68675 >= 3.0.0b1, < 3.1.6, < 2.11.1 3.1.6, 2.11.1
  7. High · 8.8 CVE-2024-45498 >= 2.10.0, < 2.10.1 2.10.1
  8. High · 8.8 CVE-2024-45034 < 2.10.1 2.10.1
  9. High · 8.8 CVE-2024-39877 >= 2.4.0, < 2.9.3 2.9.3
  10. Critical · 9.8 CVE-2023-25693 < 3.1.1 3.1.1
  11. Critical · 9.8 CVE-2023-22884 < 2.5.1 2.5.1
  12. Critical · 9.8 CVE-2022-38649 < 2.3.0 2.3.0
  13. Critical · 9.8 CVE-2022-40189 < 2.3.0 2.3.0
  14. Critical · 9.8 CVE-2022-38054 >= 2.2.4, < 2.3.4rc1 2.3.4rc1
  15. High · 8.8 CVE-2022-24288 < 2.2.4 2.2.4
  16. Critical · 9.8 CVE-2021-38540 >= 2.0.0, < 2.1.3 2.1.3
  17. High · 6.5 CVE-2021-26559 >= 2.0.0, < 2.0.1rc1 2.0.1rc1
  18. High · 7.7 CVE-2020-17526 < 1.10.14 1.10.14
  19. Critical · 9.8 Exploited in attacks CVE-2020-13927 < 1.10.11 1.10.11
  20. Critical · 9.8 CVE-2020-11982 < 1.10.11 1.10.11
  21. Critical · 9.8 CVE-2020-11981 < 1.10.11rc1 1.10.11rc1
  22. High · 8.8 Exploited in attacks CVE-2020-11978 < 1.10.11rc1 1.10.11rc1
  23. High · 8.8 CVE-2019-0229 < 1.10.3 1.10.3
  24. High · 7.5 CVE-2018-20245 < 1.10.1 1.10.1
  25. Critical · 9.8 CVE-2017-17836 < 1.9.0 1.9.0
  26. High · 8.8 CVE-2017-17835 < 1.9.0 1.9.0

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.