{"affected":[{"defaultStatus":"unaffected","ecosystem":"pypi","packageName":"apache-airflow-core","product":"Apache Airflow","source":"CNA: apache","vendor":"Apache Software Foundation","versions":[{"lessThan":"3.3.1","status":"affected","version":"3.3.0","versionType":"semver"}]}],"cveId":"CVE-2026-67587","cwes":["CWE-502"],"description":"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.","epss":{"date":"2026-11-02","percentile":0.49287,"score":0.00611},"exploits":[],"kev":null,"metrics":[{"score":8.8,"severity":"high","source":"ADP: CISA-ADP","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}],"modifiedAt":1793689155615,"publishedAt":1786548730565,"references":[{"source":"CNA: apache","tags":["patch"],"url":"https://github.com/apache/airflow/pull/70704"},{"source":"CNA: apache","tags":["vendor-advisory"],"url":"https://lists.apache.org/thread/o00ww4n69qojvsckb464dtwd2nhzy6t0"},{"source":"CNA: apache","tags":["related"],"url":"https://www.cve.org/CVERecord?id=CVE-2026-58076"},{"source":"CNA: apache","tags":["related"],"url":"https://www.cve.org/CVERecord?id=CVE-2026-67260"}],"remediation":[{"kind":"fix","source":"CNA: apache","text":"The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.","url":"https://github.com/apache/airflow/pull/70704"}],"revision":"49b50482ab1913ac46d4d971b665dba154f3371403bf3e06b212e5a89e70eaf4","sources":[{"modifiedAt":1793689155615,"name":"CNA: apache","retrievedAt":1793689776770,"url":"https://www.cve.org/CVERecord?id=CVE-2026-67587"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1793689784907,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-67587"}],"ssvc":{"assessedAt":1786623443923,"automatable":"no","exploitation":"none","source":"ADP: CISA-ADP","technicalImpact":"total"},"status":"published","title":"Apache Airflow: DAG-author remote code execution on the Scheduler via a Serde `Callback` deserialization gadget","updatedAt":1793689784907}