PYSEC-2026-3986
Quick fix
PYSEC-2026-3986 — apache-airflow-providers-apache-kafka: upgrade to the fixed version with the command below.
pip install --upgrade 'apache-airflow-providers-apache-kafka>=2.0.0'Details
Apache Airflow Apache Kafka provider versions 1.15.0 before 2.0.0 resolve dotted-path strings found in a Kafka connection's `extra` field into Python callables via `import_string`, with no allowlist, and hand them to the confluent-kafka client which invokes them. Deployments that have enabled the Kafka event producer — `dag_run_events_enabled` or `task_instance_events_enabled`, both disabled by default — build that client inside the scheduler process, so a user whose only privilege is editing Airflow connections gains arbitrary code execution in the control plane; the Airflow security model limits connection-configuration users to code execution on workers, not the scheduler. Deployments using Google Managed Kafka are not affected, because that code path overwrites any user-supplied `oauth_cb`; plain brokers and Amazon MSK are exposed. Users are recommended to upgrade to apache-airflow-providers-apache-kafka 2.0.0 or later, which adds an allowlist configuration option for connection-string callbacks.
Are you affected?
Enter the version of the package you're using.
Affected packages
1.15.0Fixed in: 2.0.0pip install --upgrade 'apache-airflow-providers-apache-kafka>=2.0.0'