CVE-2026-67587

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*

History

23 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) El SDK de Tareas de Apache Airflow reconstruyó un objeto ’Callback’ a partir de datos serializados al volver a ejecutar su constructor, que importa el módulo nombrado por la ruta de callback almacenada. Debido a que ’SyncCallback’ es en sí misma una clase de Airflow, pasa la lista de permitidos predeterminada ’allowed_deserialization_classes’, por lo que ajustar esa configuración no ayuda. Un autor de Dag - que controla los ’next_kwargs’ de una instancia de tarea a través de la API de ejecución de tareas - puede, por lo tanto, hacer que se importe un módulo arbitrario dentro del proceso del planificador, cuyo el barrido de tiempo de espera ’awaiting_input’ del planificador deserializa ese valor. No se requiere ninguna configuración no predeterminada; el barrido se ejecuta incondicionalmente. Las versiones anteriores a la 3.3.0 no se ven afectadas: la clase existía, pero el barrido del planificador que la alcanza no. Esta es una ruta de código separada de CVE-2026-58076 y CVE-2026-67260, que cubren diferentes “gadgets” que alcanzan la deserialización - aplicar cualquiera de esas correcciones no aborda esta. Se aconseja a los usuarios actualizar a apache-airflow 3.3.1 o posterior.

Information

Published : 2026-08-12 16:17

Updated : 2026-10-24 16:10


NVD link : CVE-2026-67587

Mitre link : CVE-2026-67587

CVE.ORG link : CVE-2026-67587


JSON object : View

Products Affected

apache

  • airflow
CWE
CWE-502

Deserialization of Untrusted Data