{"affected":[{"defaultStatus":"unaffected","ecosystem":"pypi","packageName":"apache-airflow-core","product":"Apache Airflow","source":"CNA: apache","vendor":"Apache Software Foundation","versions":[{"lessThan":"3.4.0","status":"affected","version":"3.3.0","versionType":"semver"}]}],"cveId":"CVE-2026-96285","cwes":["CWE-502"],"description":"Apache Airflow 3.3.1 shipped a fix for CVE-2026-67260 that checks the scheduler's decoded `next_kwargs` value is a dictionary, but performs that check only after deserializing the whole stored payload. Deserialization reconstructs nested objects of classes permitted by the deserialization allow-list — which by default includes Airflow's own classes — and runs their constructors inside the scheduler process before the check can reject the value. A Dag author, who controls a task's `next_kwargs` through the task execution API, can therefore still trigger constructor execution in the scheduler when the `awaiting_input` timeout sweep processes the task, and in the API server when the task instance is served to a worker using an older Execution API version; no non-default configuration is required. Versions before 3.3.0 are not affected. This is an incomplete fix for CVE-2026-67260: deployments that upgraded to 3.3.1 for that issue must also upgrade to apache-airflow 3.4.0 or later.","epss":null,"exploits":[],"kev":null,"metrics":[],"modifiedAt":1794217642524,"publishedAt":1794217642524,"references":[{"source":"CNA: apache","tags":["patch"],"url":"https://github.com/apache/airflow/pull/73576"},{"source":"CNA: apache","tags":["patch"],"url":"https://github.com/apache/airflow/pull/73577"},{"source":"CNA: apache","tags":["related"],"url":"https://www.cve.org/CVERecord?id=CVE-2026-67260"},{"source":"CNA: apache","tags":["vendor-advisory"],"url":"https://lists.apache.org/thread.html/5grvgsjw0c47q0pko8vnfy35drj4jyck"}],"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/73576"},{"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/73577"}],"revision":"692ecb9b2a161b455f348061af56a960200493720ec109bfe33dc09457645b57","sources":[{"modifiedAt":1794217642524,"name":"CNA: apache","retrievedAt":1794218962429,"url":"https://www.cve.org/CVERecord?id=CVE-2026-96285"}],"ssvc":null,"status":"published","title":"Apache Airflow: Scheduler: next_kwargs deserialized before the dict check, so resume data still invokes constructors","updatedAt":1794218962429}