CVE-2026-35171: qué sistemas afecta y cómo parchear

La National Vulnerability Database (NVD) ha publicado la CVE-2026-35171, una vulnerabilidad crítica de ejecución remota de código (RCE) en la popular herramienta de data science Kedro. Con una puntuación CVSS de 9.8, este fallo permite a un atacante remoto sin credenciales ejecutar comandos arbitrarios en el sistema durante el arranque de la aplicación, comprometiendo por completo los entornos de machine learning y análisis de datos. Analizamos el vector de ataque, los sistemas afectados y proporcionamos una guía de remediación inmediata.

  • CVSS 9.8 (Crítica): El vector de ataque (AV:N/AC:L/PR:N/UI:N) indica que es explotable de forma remota y sin autenticación.
  • Origen del fallo: Uso inseguro de logging.config.dictConfig() con entrada controlada por el usuario a través de la variable de entorno KEDRO_LOGGING_CONFIG.
  • Ámbito de impacto: Todos los proyectos y pipelines de data science que utilicen Kedro en versiones anteriores a la 1.3.0.
  • Estado del exploit: En el momento de la publicación no se confirma la existencia de un exploit público, pero la criticidad hace esperar su aparición rápida.
  • Remediación: Actualización inmediata a Kedro 1.3.0 o aplicación de workarounds de mitigación.
📋 Ficha técnica

CVE ID CVE-2026-35171
Severidad (CVSS) 9.8 – CRÍTICA
Vector CVSS CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados Kedro (toolbox para data science)
Exploit público No (en el momento de la publicación)
Fecha publicación 2026-04-06
⚠️ ALERTA DE SEGURIDAD: La criticidad de la puntuación CVSS 9.8 y la naturaleza de la vulnerabilidad, que permite la ejecución remota de código sin autenticación, convierten a CVE-2026-35171 en un riesgo inminente. Se recomienda la aplicación del parche de manera prioritaria en todos los entornos de producción que utilicen Kedro.

Sistemas y versiones afectadas

Esta vulnerabilidad afecta exclusivamente a la toolbox de código abierto Kedro, utilizada para construir pipelines de data science reproducibles, modulares y mantenibles. El fallo reside en cómo se carga y procesa la configuración de logging, una funcionalidad presente en prácticamente cualquier despliegue.

Producto Versiones vulnerables Versión parcheada
Kedro Todas las versiones anteriores a la 1.3.0 1.3.0 y superiores

Es fundamental verificar la versión instalada en vuestro entorno. Un simple comando en la terminal puede revelar si estáis en riesgo:

pip show kedro | grep Version

Cualquier versión que no sea la 1.3.0 o superior (por ejemplo, 1.2.5, 1.1.0, 0.18.0) está expuesta a la explotación de la CVE-2026-35171.

Análisis técnico de la vulnerabilidad CVE-2026-35171

🤖 ¿Tu empresa ya automatiza con Inteligencia Artificial? En Iberia Intelligence diseñamos e implementamos agentes de IA y flujos de automatización a medida: desde la integración de LLMs en procesos internos hasta la orquestación de agentes autónomos que reducen costes operativos y liberan a tu equipo para tareas de mayor valor.

Para comprender la gravedad de este fallo, debemos adentrarnos en su mecanismo de explotación. Kedro, como muchas aplicaciones Python, utiliza el módulo estándar logging.config para definir cómo se registran los eventos. La vulnerabilidad surge de la combinación de dos factores: una variable de entorno sin validar y una característica potente pero peligrosa del esquema de configuración de logs.

El vector de ataque a través de KEDRO_LOGGING_CONFIG

Kedro permite a los desarrolladores especificar una ruta personalizada para el archivo de configuración de logging mediante la variable de entorno KEDRO_LOGGING_CONFIG. El problema es que la ruta proporcionada se carga directamente mediante la función logging.config.dictConfig() sin ningún tipo de saneamiento o validación de la procedencia y el contenido del archivo.

Un atacante que consiga inyectar o manipular esta variable de entorno (algo factible en entornos mal configurados o comprometidos) puede apuntar a un archivo de configuración malicioso. Este archivo puede contener una carga diseñada para abusar de la funcionalidad del sistema de logging.

La clave especial ‘()’ y la instanciación de llamables arbitrarios

El verdadero peligro radica en una característica del esquema de configuración de Python logging: la clave especial (). Esta clave se utiliza para especificar un objeto ‘callable’ (una función o clase) que debe ser instanciado. En un contexto normal, esto es útil para personalizar handlers o formatters.

Sin embargo, en manos de un atacante, esta capacidad se convierte en una puerta trasera para la ejecución de código. Un archivo de configuración malicioso podría definir un ‘callable’ que apunte a una función del sistema como os.system o subprocess.Popen, pasándole comandos arbitrarios como argumentos. Cuando Kedro carga esta configuración durante su inicialización, el código se ejecuta en el contexto del usuario que corre la aplicación, típicamente con los mismos privilegios del servicio de data science.

El vector CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H confirma el peor escenario posible: un atacante de red (Network) puede explotarlo con baja complejidad de ataque, sin necesidad de privilegios (None) ni interacción del usuario, comprometiendo por completo la confidencialidad, integridad y disponibilidad del sistema.

Cómo parchear CVE-2026-35171: guía paso a paso

La remediación oficial y definitiva es la actualización a la versión 1.3.0 de Kedro, donde los mantenedores han corregido la carga insegura de la configuración. Seguimos un proceso ordenado para garantizar que la actualización no rompa vuestros pipelines existentes.

  1. Verificar el entorno actual y realizar un backup

    Antes de cualquier cambio, aseguraos de tener un backup de vuestros proyectos Kedro (especialmente del archivo pyproject.toml o requirements.txt) y de los datos críticos. Cread un snapshot del entorno si usáis Docker o máquinas virtuales.

  2. Actualizar el paquete Kedro usando pip

    El comando principal para entornos globales o virtuales es el siguiente. Ejecutadlo en vuestra terminal o en el script de despliegue:

    pip install --upgrade kedro==1.3.0

    Para mayor precisión y evitar la instalación de versiones preliminares, podéis forzar la versión exacta. Si usáis un archivo de dependencias, actualizad la línea correspondiente a kedro>=1.3.0 y luego ejecutad:

    pip install -r requirements.txt --upgrade
  3. Actualizar en entornos containerizados (Docker)

    Si utilizáis Docker, debéis modificar vuestro Dockerfile o la imagen base. Aseguraos de que el comando RUN que instala Kedro se actualice. Por ejemplo:

    RUN pip install --no-cache-dir kedro==1.3.0

    Reconstruid la imagen y desplegad los contenedores nuevos.

  4. Verificar la actualización

    Confirmad que la nueva versión está activa. El comando mostrado anteriormente debe devolver Version: 1.3.0.

    python -c "import kedro; print(kedro.__version__)"
  5. Ejecutar tests del pipeline

    Lanzad vuestros tests unitarios e integración (kedro test) para asegurar que la actualización no introduce incompatibilidades en vuestros nodos, catálogos de datos o flujos de trabajo.

Medidas adicionales de mitigación

Si, por razones de dependencias o compatibilidad, no podéis aplicar el parche de inmediato, existen workarounds que reducen significativamente la superficie de ataque. Estas medidas son temporales y no sustituyen a la actualización.

1. Restringir o anular la variable de entorno KEDRO_LOGGING_CONFIG

La explotación depende de que un atacante pueda controlar esta variable. Podéis mitigar el riesgo eliminándola o sobrescribiéndola en vuestros entornos de ejecución (shell, systemd, orquestadores como Kubernetes).

  • En Unix/Linux: Ejecutar unset KEDRO_LOGGING_CONFIG antes de lanzar Kedro, o definirla con una ruta segura y controlada internamente.
  • En Kubernetes: Revisad los manifests y configmaps para aseguraros de que no se inyecta desde fuentes no confiables.

2. Validar y sanitizar archivos de configuración externos

Si vuestra aplicación necesita cargar configuraciones de logging externas, implementad una capa de validación previa. Esto puede incluir:

  • Verificar que el archivo reside en una ruta permitida (whitelist).
  • Analizar el contenido YAML/JSON del archivo para buscar y rechazar la presencia de la clave especial () con valores sospechosos (por ejemplo, referencias a módulos como os o subprocess).

3. Aplicar el principio de mínimo privilegio

Ejecutar los servicios de Kedro con un usuario de sistema dedicado y con privilegios mínimos. De este modo, incluso si se explota la RCE, el daño potencial (acceso a archivos del sistema, instalación de malware) se ve limitado. Nunca ejecutéis vuestros pipelines de data science como usuario root o con permisos de administrador.

4. Segmentación de red y listas de control de acceso

Aislar los entornos de desarrollo y producción de Kedro detrás de firewalls. Restringid el acceso a los puertos y servicios asociados solo a las direcciones IP estrictamente necesarias (por ejemplo, el equipo de data scientists o los sistemas de orquestación). Esto reduce el alcance del vector AV:N (Network).

✅ Lista de verificación post-parche:

  • La versión de Kedro reportada es 1.3.0 o superior en todos los entornos (dev, staging, prod).
  • La variable de entorno KEDRO_LOGGING_CONFIG ha sido auditada y no apunta a fuentes no confiables.
  • Los pipelines de datos críticos han pasado sus suites de pruebas tras la actualización.
  • Se ha consultado la referencia oficial de seguridad: GHSA-9cqf-439c-j96r.

Conclusión

La CVE-2026-35171 es un recordatorio potente de que incluso las herramientas fundamentales en entornos aparentemente aislados, como los de data science, son objetivos valiosos para los ciberatacantes. La capacidad de explotar el sistema de logging para conseguir RCE subraya la importancia de validar y sanear todas las entradas, incluidas las variables de entorno y los archivos de configuración.

La comunidad de Kedro ha respondido con rapidez liberando la versión parcheada 1.3.0. Desde Iberia Intel, instamos a todos los equipos de ciencia de datos, machine learning e ingeniería de plataformas a priorizar esta actualización. En el ecosistema de la inteligencia artificial, donde los modelos y los datos son activos críticos, una brecha de seguridad de esta magnitud podría resultar en la pérdida de propiedad intelectual, la manipulación de resultados o el compromiso de infraestructuras enteras. La remediación no es solo una cuestión de parchear software; es una medida esencial para proteger el núcleo de vuestras operaciones basadas en datos.

Referencias y recursos oficiales


Automatiza tu empresa con Agentes de IA — diseño e implementación a medida

En Iberia Intelligence construimos agentes de IA y workflows de automatización adaptados a tu negocio: análisis de procesos, selección de herramientas, integración y formación del equipo. Resultados medibles desde el primer mes.

→ Solicita información sin compromiso

Deja un comentario