Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Escritura arbitraria de archivos en productos de OpenPLC

Fecha de publicación 10/07/2026
Identificador
INCIBE-2026-477
Importancia
5 - Crítica
Recursos Afectados

OpenPLC v3.

Descripción

Grady DeRosa ha informado sobre una vulnerabilidad de severidad critica que, en caso de ser explotada, podría permitir a un atacante autenticado escribir archivos arbitrarios en el sistema de archivos y escalar esto a la ejecución de código nativo arbitrario a través del proceso normal de compilación de programas de OpenPLC, lo que potencialmente resultaría en la ejecución de código como el usuario de tiempo de ejecución de OpenPLC.

Solución

OpenPLC recomienda a los usuarios actualizar a OpenPLC v4, ya que OpenPLC v3 ha llegado al final de su ciclo de vida y ya no recibe parches, correcciones de errores ni actualizaciones de seguridad.

Detalle

CVE-2026-14480: OpenPLC Runtime v3 contiene una vulnerabilidad de escritura arbitraria de archivos autenticada en el flujo de trabajo de carga de programas de la interfaz web heredada. La aplicación almacena un nombre de archivo proporcionado por el atacante (prog_file) directamente en el campo Programs.File de la base de datos y posteriormente utiliza este valor como ruta de destino para un archivo cargado sin validar ni restringir la ruta. Dado que Python os.path.join() respeta las rutas absolutas controladas por el atacante, un usuario autenticado puede escribir archivos arbitrarios en cualquier lugar donde el proceso del servidor web de OpenPLC pueda escribir. En la canalización de compilación predeterminada, todos los archivos fuente de C++ dentro del directorio principal de OpenPLC Runtime se compilan automáticamente en el binario ejecutable de Runtime. Al escribir un archivo .cpp malicioso en este directorio, un atacante autenticado puede escalar la escritura arbitraria de archivos a la ejecución de código nativo arbitrario cuando el operador activa una compilación normal del programa y el inicio de Runtime.

CVE
Identificador CVE Severidad Explotación Fabricante
CVE-2026-14480 Crítica No OpenPLC
Listado de referencias