{"id":"CVE-2019-5167","aliases":["EUVD-2019-14772","GHSA-9mfc-vm32-v9f4"],"status":"published","title":"An exploitable command injection vulnerability exists in the iocheckd service ‘I/O-Check’...","description":"An exploitable command injection vulnerability exists in the iocheckd service ‘I/O-Check’ function of the WAGO PFC 200 version 03.02.02(14). At 0x1e3f0 the extracted dns value from the xml file is used as an argument to /etc/config-tools/edit_dns_server %s dns-server-nr=%d dns-server-name=\u003ccontents of dns node\u003e using sprintf(). This command is later executed via a call to system(). This is done in a loop and there is no limit to how many dns entries will be parsed from the xml file.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.01206,"percentile":0.68563,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-78"],"published":"2020-03-10T22:25:48Z","modified":"2026-06-17T02:37:14Z","products":[{"vendor":"wago","product":"pfc200_firmware"},{"vendor":"wago","product":"wago pfc200 firmware"}],"references":[{"url":"https://talosintelligence.com/vulnerability_reports/TALOS-2019-0962","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-5167"},{"url":"https://github.com/advisories/GHSA-9mfc-vm32-v9f4"}],"sources":{"cve":[{"id":"CVE-2019-5167","description":"An exploitable command injection vulnerability exists in the iocheckd service ‘I/O-Check’ function of the WAGO PFC 200 version 03.02.02(14). At 0x1e3f0 the extracted dns value from the xml file is used as an argument to /etc/config-tools/edit_dns_server %s dns-server-nr=%d dns-server-name=\u003ccontents of dns node\u003e using sprintf(). This command is later executed via a call to system(). This is done in a loop and there is no limit to how many dns entries will be parsed from the xml file.","status":"published","published":"2020-03-10T22:25:48Z","modified":"2024-08-04T19:47:56.596Z","updated_at":"2026-11-02T14:20:18.746972Z"}],"euvd":[{"id":"EUVD-2019-14772","description":"An exploitable command injection vulnerability exists in the iocheckd service ‘I/O-Check’ function of the WAGO PFC 200 version 03.02.02(14). At 0x1e3f0 the extracted dns value from the xml file is used as an argument to /etc/config-tools/edit_dns_server %s dns-server-nr=%d dns-server-name=\u003ccontents of dns node\u003e using sprintf(). This command is later executed via a call to system(). This is done in a loop and there is no limit to how many dns entries will be parsed from the xml file.","status":"published","published":"2020-03-10T22:25:48Z","modified":"2024-08-04T19:47:56Z","updated_at":"2026-11-03T03:06:53.453369Z"}],"ghsa":[{"id":"GHSA-9mfc-vm32-v9f4","title":"An exploitable command injection vulnerability exists in the iocheckd service ‘I/O-Check’...","description":"An exploitable command injection vulnerability exists in the iocheckd service ‘I/O-Check’ function of the WAGO PFC 200 version 03.02.02(14). At 0x1e3f0 the extracted dns value from the xml file is used as an argument to /etc/config-tools/edit_dns_server %s dns-server-nr=%d dns-server-name=\u0026lt;contents of dns node\u0026gt; using sprintf(). This command is later executed via a call to system(). This is done in a loop and there is no limit to how many dns entries will be parsed from the xml file.","status":"published","published":"2022-05-24T22:28:30Z","modified":"2023-01-30T05:05:18Z","updated_at":"2026-11-02T14:47:14.398767Z"}],"nvd":[{"id":"CVE-2019-5167","description":"An exploitable command injection vulnerability exists in the iocheckd service ‘I/O-Check’ function of the WAGO PFC 200 version 03.02.02(14). At 0x1e3f0 the extracted dns value from the xml file is used as an argument to /etc/config-tools/edit_dns_server %s dns-server-nr=%d dns-server-name=\u003ccontents of dns node\u003e using sprintf(). This command is later executed via a call to system(). This is done in a loop and there is no limit to how many dns entries will be parsed from the xml file.","status":"published","published":"2020-03-11T22:27:41.38Z","modified":"2026-06-17T02:37:14.96Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":7.2,"vector":"AV:L/AC:L/Au:N/C:C/I:C/A:C","level":"high","assessor":"primary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:05:45.254119Z"}]}}
