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.
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



