CVE-2026-101031 · Runtime
NO FIX YET · SEE WHAT TO DO
The bundled example_dag_decorator DAG validates an HTTP-fetched IP address with Python's ipaddress module and then puts it into a shell command, but ipaddress accepts IPv6 zone identifiers with arbitrary characters. A user who can trigger that DAG with a custom url parameter can have a malicious server's response inject shell commands that run on the Airflow worker.
first public Nov 9, 2026 · 1 source
Could this affect your app?
Free first check from your website. Connect your repo for the full answer.
Only installs with example DAGs loaded (load_examples enabled) are exposed, and the attacker must be able to trigger the example DAG with a custom url parameter. Production deployments that do not need the examples can skip the upgrade by disabling them, though the advisory recommends disabling them there regardless.
Not affected if load-examples-disabled, managed-hosting
Who cares apache-airflow, python, self-hosted
load_examples = True in airflow.cfg or AIRFLOW__CORE__LOAD_EXAMPLES set to true.airflow version and compare against 3.4.0.3.4.0 or later, per the advisory; users who upgraded for CVE-2025-54941 must upgrade again.load_examples = False, which the advisory recommends for production.The example_dag_decorator example Dag shipped with Apache Airflow validated an IP address fetched over HTTP with Python's ipaddress module and then placed it into a shell command. ipaddress accepts IPv6 zone identifiers containing arbitrary characters, so when example Dags are loaded (load_examples enabled), a user who can trigger that Dag with a custom url parameter could point it at a server whose response injects shell commands run on the worker. This is an incomplete fix for CVE-2025-54941; users who upgraded for CVE-2025-54941 should upgrade again. Users are advised to upgrade to apache-airflow 3.4.0 or later, or to disable example Dags (load_examples = False), which is recommended for production.
This page as ·
Are you affected?
Tell InfraStack what you run. It checks this one, and every next one, against your stack.
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.