Introducción
Se han reportado varias vulnerabilidades a AutomationDirect sobre sus PLCs que podrían llevar a la ejecución remota de código y a la denegación de servicio de los mismos.[1]
Análisis
Se han publicado un total de 15 vulnerabilidades afectando a un total de 12 dispositivos. Las vulnerabilidades se explican a continuación:
-
- CVE-2024-24851 – Acceso al buffer con longitud incorrecta (CWE-805):
Se ha localizado una vulnerabilidad de tipo “Heap-based buffer overflow” en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Programming Software Connection FiBurn. Un atacante podría crear un paquete personalizado y enviarlo sin autenticación para generar un “buffer overflow”.
-
- CVE-2024-24946 – Escritura fuera de los límites (CWE-787):
Se ha localizado una vulnerabilidad de tipo “length exceeded buffer overflow” en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Programming Software Connection CurrDir. Un atacante podría crear un paquete personalizado y enviarlo sin autenticación para denegar el servicio.
-
- CVE-2024-24947 – Escritura fuera de los límites (CWE-787):
Se ha localizado una vulnerabilidad de tipo “allocation failed buffer overflow” en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Programming Software Connection CurrDir. Un atacante podría crear un paquete personalizado y enviarlo sin autenticación para denegar el servicio.
-
- CVE-2024-24954, CVE-2024-24955, CVE-2024-24956, CVE-2024-24957, CVE-2024-24958, CVE-2024-24959 – Escritura fuera de los límites (CWE-787):
Se han localizado varias vulnerabilidades de tipo “null byte write” en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Programming Software Filesystem API. Un atacante podría crear un paquete malicioso y enviarlo para corromper la pila del proceso.
-
- CVE-2024-24962, CVE-2024-24963 – “Stack-Based Buffer Overflow” (CWE-121):
Se han localizado varias vulnerabilidades de tipo “stack-based buffer overflow” en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Programming Software Connection FileSelect. Un atacante podría crear un paquete personalizado y enviarlo sin autenticación para generar un buffer overflow.
-
- CVE-2024-22187 – Acceso impropio a control del programa (CWE-284):
Se ha localizado una vulnerabilidad de tipo “write-what-where” en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Programming Software Connection Remote Memory Diagnostics. Un atacante podría crear un paquete personalizado y enviarlo sin autenticación para escribir en direcciones de memoria aleatorias.
-
- CVE-2024-23315 – Acceso impropio a control del programa (CWE-284):
Se ha localizado una vulnerabilidad de tipo “read-what-where” en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Programming Software Connection IMM 01ª1 Memory Read. Un atacante podría crear un paquete personalizado y enviarlo sin autenticación para extraer información sensible.
-
- CVE-2024-21785 – “Active Debug Code” (CWE-489):
Se han localizado restos de código de depuración en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la funcionalidad de Telnet Diagnostic Interface. Un atacante podría enviar una secuencia de paquetes modificados para lograr acceso no autorizado.
-
- CVE-2024-23601 – Verificación de autenticidad de los datos insuficiente (CWE-345):
Se ha localizado una vulnerabilidad de tipo inyección de código en el programa AutomationDirect P3-550E 1.2.10.9, más concretamente en la librería scan_lib.bin. Un atacante podría introducir un fichero malicioso para lograr la ejecución de código arbitrario.
La serie de productos afectados es:
-
- Productivity 3000 P3-550E CPU: FW 1.2.10.9
- Productivity 3000 P3-550E CPU: SW 4.1.1.10
- Productivity 3000 P3-550 CPU: FW 1.2.10.9
- Productivity 3000 P3-550 CPU: SW 4.1.1.10
- Productivity 3000 P3-530 CPU: FW 1.2.10.9
- Productivity 3000 P3-530 CPU: SW 4.1.1.10
- Productivity 2000 P2-550 CPU: FW 1.2.10.10
- Productivity 2000 P2-550 CPU: SW 4.1.1.10
- Productivity 1000 P1-550 CPU: FW 1.2.10.10
- Productivity 1000 P1-550 CPU: SW 4.1.1.10
- Productivity 1000 P1-540 CPU: FW 1.2.10.10
- Productivity 1000 P1-540 CPU: SW 4.1.1.10
Recomendaciones
AutomationDirect recomienda los siguientes pasos:
-
- Actualizar el entorno de programación Productivity Suite a la versión 4.2.0.x o posterior.
- Actualizar el firmware de los Productivity PLC a la última versión.
Referencias
[1] ICSA-24-144-01 – AutomationDirect Productivity PLCs