CVE-2026-67587: Apache Airflow Task SDK Callback deserialization can import arbitrary modules in the scheduler
(updated )
Apache Airflow’s Task SDK rebuilt a Callback object from serialized data by re-running its constructor, which imports the module named by the stored callback path. Because SyncCallback is itself an Airflow class it passes the default allowed_deserialization_classes allow-list, so tightening that setting does not help. A Dag author — who controls a task instance’s next_kwargs through the task execution API — can therefore cause an arbitrary module to be imported inside the scheduler process, when the scheduler’s awaiting_input timeout sweep deserializes that value. No non-default configuration is required; the sweep runs unconditionally. Versions before 3.3.0 are not affected: the class existed, but the scheduler sweep that reaches it did not. This is a separate code path from CVE-2026-58076 and CVE-2026-67260, which cover different gadgets reaching deserialization — applying either of those fixes does not address this one. Users are advised to upgrade to apache-airflow 3.3.1 or later.
References
- github.com/advisories/GHSA-2qjv-p2gc-mjg2
- github.com/apache/airflow/commit/1baee0bf987eb220f15398e43572e1ed819a0130
- github.com/apache/airflow/commit/2b598cb8b0570c941633be3d16a7eb912f73180c
- github.com/apache/airflow/pull/70704
- github.com/apache/airflow/releases/tag/3.3.1
- github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2026-3708.yaml
- lists.apache.org/thread/o00ww4n69qojvsckb464dtwd2nhzy6t0
- nvd.nist.gov/vuln/detail/CVE-2026-67587
- www.cve.org/CVERecord?id=CVE-2026-58076
- www.cve.org/CVERecord?id=CVE-2026-67260
Code Behaviors & Features
Detect and mitigate CVE-2026-67587 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →