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

Vulnerabilidad en las funciones sprintf() y strcpy() en la funcionalidad "I/O-Check" del servicio iocheckd de WAGO PFC 200 (CVE-2019-5185)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787 Escritura fuera de límites
Fecha de publicación:
23/03/2020
Última modificación:
21/07/2021

Descripción

Se presenta una vulnerabilidad de desbordamiento del búfer de la pila explotable en la funcionalidad "I/O-Check" del servicio iocheckd de WAGO PFC 200. Un atacante puede enviar un paquete especialmente diseñado para activar el análisis de este archivo caché. En 0x1ea28, el valor de estado extraído del archivo xml es usado como un argumento para /etc/config-tools/config_interfaces interface=X1 state= usando la función sprintf(). El búfer de destino sp+0x40 es desbordado con la llamada a la función sprintf() para cualquier valor de estado que sea mayor de 512-len("/etc/config-tools/config_interfaces interface=X1 state=") de longitud. Más tarde, en 0x1ea08 la función strcpy() es usada para copiar el contenido del búfer de la pila que se desbordó sp+0x40 en sp+0x440. El búfer sp+0x440 está inmediatamente adyacente a sp+0x40 sobre la pila. Por lo tanto, no presenta terminación NULL en el búfer sp+0x40 ya que se desbordó en sp+0x440. La función strcpy() resultará en un acceso no válido a la memoria. Un valor de estado de longitud 0x3c9 causará que el servicio se bloquee.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:wago:pfc200_firmware:03.02.02\(14\):*:*:*:*:*:*:*
cpe:2.3:h:wago:pfc200:-:*:*:*:*:*:*:*


Referencias a soluciones, herramientas e información