An attacker may be able to exploit these vulnerabilities to execute arbitrary code and view contents of files stored on the target machine.

Advantech’s headquarters is in Taiwan and has distribution offices in 21 countries worldwide.

Advantech WebAccess, formerly known as BroadWin WebAccess, is a web-based SCADA and human-machine interface product used in energy, critical manufacturing, commercial facilities, and government facilities. These systems see use on a global basis.

An attacker using SQL injection may use arguments to construct queries without proper sanitization. The DBVisitor.dll ends up exposed through SOAP interfaces, and the exposed functions are vulnerable to SOAP injection. This may allow unexpected SQL action and access to records in the table of the software database or execution of arbitrary code.

CVE-2014-0763 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

By providing an overly long string to the NodeName parameter, an attacker may be able to overflow the static stack buffer. The attacker may then execute code on the target device remotely.

CVE-2014-0764 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

To exploit this stack buffer overflow vulnerability, the attacker sends data from the GotoCmd argument to control. If the value of the argument is overly long, the static stack buffer can overflow. This will allow the attacker to execute arbitrary code remotely.

CVE-2014-0765 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

An attacker can exploit another stack buffer overflow vulnerability by copying an overly long NodeName2 argument into a statically sized buffer on the stack to overflow the static stack buffer. An attacker may use this vulnerability to remotely execute arbitrary code.

CVE-2014-0766 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

An attacker may exploit this stack buffer overflow vulnerability by passing an overly long value from the AccessCode argument to the control. This will overflow the static stack buffer. The attacker may then execute code on the target device remotely.

CVE-2014-0767 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

An attacker may pass an overly long value from the UserName argument to the control to overflow the static stack buffer. The attacker may then remotely execute arbitrary code.

CVE-2014-0768 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

By providing an overly long string to the NodeName parameter, an attacker may be able to overflow the static stack buffer. The attacker may then execute code on the target device remotely.

CVE-2014-0770 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

The BWOCXRUN.BwocxrunCtrl.1 control contains a method named “OpenUrlToBuffer.” This method takes a URL as a parameter and returns its contents to the caller in JavaScript. The URLs end up accessed in the security context of the current browser session. The control does not perform any URL validation and allows “file://” URLs that access the local disk.

The method can open a URL (including file URLs) and read file URLs through JavaScript. This method could also end up used to reach any arbitrary URL to which the browser has access.

CVE-2014-0771 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 5.0.

The BWOCXRUN.BwocxrunCtrl.1 control contains a method named OpenUrlToBufferTimeout. This method takes a URL as a parameter and returns its contents to the caller in JavaScript. The URLs end up accessed in the security context of the current browser session. The control does not perform any URL validation and allows file:// URLs that access the local disk.

The method can open a URL (including file URLs) and read the URLs through JavaScript. This method could also reach any arbitrary URL to which the browser has access.

CVE-2014-0772 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 5.0.

The BWOCXRUN.BwocxrunCtrl.1 control contains a method named “CreateProcess.” This method contains validation to ensure an attacker cannot run arbitrary command lines. After validation, the values supplied in the HTML pass to the Windows CreateProcessA API.

The validation can end up bypassed allowing for running arbitrary command lines. The command line can specify running remote files (example: UNC command line).

A function exists at offset 100019B0 of bwocxrun.ocx. Inside this function, there are 3 calls to strstr to check the contents of the user specified command line. If “\setup.exe,” “\bwvbprt.exe,” or “\bwvbprtl.exe” end up contained in the command line (strstr returns nonzero value), the command line passes validation and then passes to CreateProcessA.

CVE-2014-0773 is the case number assigned to this vulnerability, which has a CVSS v2 base score of 7.5.

No known public exploits specifically target these vulnerabilities, however, an attacker with low skill would be able to exploit these vulnerabilities.

Advantech has created a new version (Version 7.2) that mitigates all of the vulnerabilities. Users can click here to download this version.