Vulnerabilidad en las funciones sprintf() y strcpy() en la funcionalidad "I/O-Check" del servicio iocheckd de WAGO PFC 200 (CVE-2019-5186)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-120
Copia de búfer sin comprobación del tamaño de entrada (Desbordamiento de búfer clásico)
Fecha de publicación:
23/03/2020
Última modificación:
21/07/2021
Descripción
Se presenta una vulnerabilidad de desbordamiento de 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 0x1eb9c, el nombre del elemento de interfaz extraído del archivo xml es usado como argumento para /etc/config-tools/config_interfaces interface=(contents of interface element) 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 la interfaz que sea mayor de 512-len("/etc/config-tools/config_interfaces interface=") en 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 longitud 0x3c4 de la interfaz causará que el servicio se bloquee.
Impacto
Puntuación base 3.x
7.00
Gravedad 3.x
ALTA
Puntuación base 2.0
4.40
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:wago:pfc200_firmware:03.02.02\(14\):*:*:*:*:*:*:* | ||
| cpe:2.3:h:wago:pfc200:-:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



