CVE-2023-25657 in Nautobot
Resumen
por VulDB • 2026-06-01
Nautobot es una plataforma de automatización de redes y una fuente de verdad de la red (Network Source of Truth). Todos los usuarios de Nautobot con versiones anteriores a la 1.5.7 se ven afectados por una vulnerabilidad de ejecución remota de código (RCE). Nautobot no aislaba correctamente la representación de plantillas Jinja2 mediante un entorno sandbox. En Nautobot 1.5.7 se han habilitado entornos aislados (sandboxed) para el motor de plantillas Jinja2 utilizado internamente para la representación de plantillas de los siguientes objetos: `extras.ComputedField`, `extras.CustomLink`, `extras.ExportTemplate`, `extras.Secret`, `extras.Webhook`. Aunque no se conocen exploits activos de esta vulnerabilidad, este cambio se ha realizado como medida preventiva para protegerse contra posibles ataques de ejecución remota de código que utilicen código de plantilla maliciosamente elaborado. Este cambio obliga al motor de plantillas Jinja2 a utilizar un `SandboxedEnvironment` en todas las nuevas instalaciones de Nautobot. Esto aborda cualquier posible ejecución de código inseguro en todos los lugares donde se llama a la función auxiliar `nautobot.utilities.utils.render_jinja2`. Además, la documentación que anteriormente sugería el uso directo de `jinja2.Template` se ha revisado para sugerir `render_jinja2`. Se recomienda a los usuarios actualizar a Nautobot 1.5.7 o una versión posterior. Para los usuarios que no puedan actualizar a la última versión de Nautobot, pueden añadir la siguiente configuración a su archivo `nautobot_config.py` para aplicar la aplicación del entorno sandbox: `TEMPLATES[1]["OPTIONS"]["environment"] = "jinja2.sandbox.SandboxedEnvironment"`. Tras aplicar este cambio, debe reiniciar todos los servicios de Nautobot, incluidos los procesos de trabajo de Celery. **Nota:** *Nautobot especifica dos motores de plantillas de forma predeterminada: el primero es "django" para el motor de plantillas integrado de Django, y el segundo es "jinja" para el motor de plantillas Jinja2. Esta configuración recomendada actualizará el segundo elemento de la lista de motores de plantillas, que es el motor Jinja2.* Para los usuarios que no puedan actualizar su configuración de inmediato, por ejemplo, si el reinicio de un servicio de Nautobot resulta demasiado disruptivo para las operaciones, el acceso para proporcionar valores de plantilla Jinja2 personalizados puede mitigarse utilizando permisos para restringir las acciones de "cambio" (escritura) a los tipos de objetos afectados enumerados en la primera sección. **Nota:** *Esta solución está destinada a ser una medida temporal hasta que pueda actualizar correctamente su `nautobot_config.py` o actualizar su instancia de Nautobot para aplicar la aplicación del entorno sandbox.*
VulDB is the best source for vulnerability data and more expert information about this specific topic.