Advantech WebAccess Vulnerabilities
1. Advisory Information
Title: Advantech WebAccess Vulnerabilities
Advisory ID: CORE-2014-0005
Advisory URL: http://www.coresecurity.com/advisories/advantech-webaccess-vulnerabilities
Date published: 2014-09-02
Date of last update: 2014-09-01
Vendors contacted: Advantech
Release mode: User release
2. Vulnerability Information
Class: Buffer overflow [CWE-119], Buffer overflow [CWE-119], Buffer overflow [CWE-119], Buffer overflow [CWE-119], Buffer overflow [CWE-119], Buffer overflow [CWE-119], Buffer overflow [CWE-119], Buffer overflow [CWE-119]
Impact: Code execution
Remotely Exploitable: No
Locally Exploitable: Yes
CVE Name: CVE-2014-0985, CVE-2014-0986, CVE-2014-0987, CVE-2014-0988, CVE-2014-0989, CVE-2014-0990, CVE-2014-0991, CVE-2014-0992
3. Vulnerability Description
Advantech WebAccess [1] is a browser-based software package for human-machine interfaces HMI, and supervisory control and data acquisition SCADA.
Advantech WebAccess is vulnerable to a buffer overflow attack, which can be exploited by remote attackers to execute arbitrary code, by providing a malicious html file with specific parameters for an ActiveX component.
4. Vulnerable packages
- WebAccess 7.2
- Older versions could be affected too, but they were not checked.
5. Non-vulnerable packages
- AdvantechWebAccessUSANode_20140730_3.4.3
6. Vendor Information, Solutions and Workarounds
Advantech has addressed the vulnerability in WebAccess by issuing an update.
Given that this is a client-side vulnerability, affected users should avoid opening untrusted .html
files. Core Security also recommends those affected use third party software such as Sentinel [4] or EMET [3] that could help to prevent the exploitation of affected systems to some extent.
7. Credits
This vulnerability was discovered and researched by Ricardo Narvaja from Core Security Exploit Writers Team.
Core Security Advisories Team would also like to thank ICS-CERT Coordination Center for their assistance during the vulnerability reporting process.
8. Technical Description / Proof of Concept Code
[CVE-2014-0985] This vulnerability is caused by a stack buffer overflow when parsing NodeName parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application. NOTE: this vulnerability exists because of an incomplete fix for CVE-2014-0764.
[CVE-2014-0986] This vulnerability is caused by a stack buffer overflow when parsing GotoCmd parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application. NOTE: this vulnerability exists because of an incomplete fix for CVE-2014-0765.
[CVE-2014-0987] This vulnerability is caused by a stack buffer overflow when parsing NodeName2 parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application. NOTE: this vulnerability exists because of an incomplete fix for CVE-2014-0766.
[CVE-2014-0988] This vulnerability is caused by a stack buffer overflow when parsing AccessCode parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application. NOTE: this vulnerability exists because of an incomplete fix for CVE-2014-0767.
[CVE-2014-0989] This vulnerability is caused by a stack buffer overflow when parsing AccessCode2 parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application. NOTE: this vulnerability exists because of an incomplete fix for CVE-2014-0768.
[CVE-2014-0990] This vulnerability is caused by a stack buffer overflow when parsing UserName parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application. NOTE: this vulnerability exists because of an incomplete fix for CVE-2014-0770.
[CVE-2014-0991] This vulnerability is caused by a stack buffer overflow when parsing projectname parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application.
[CVE-2014-0992] This vulnerability is caused by a stack buffer overflow when parsing password parameter. A malicious third party could trigger execution of arbitrary code within the context of the application, or otherwise crash the whole application.
Below is shown the result of opening a malicious html file with a long NodeName parameter, an attacker can overflow the stack buffer mentioned above and overwrite the SEH (Structured Exception Handler), enabling arbitrary code execution on the machine.
EAX 03A39942 ASCII "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB..." ECX 0162B720 EDX 01630000 xpsp2res.01630000 EBX 0162B720 ESP 0162B454 EBP 0162B460 ESI 0162B4D8 EDI 03A31E98 EIP 064EA6D4 webvact.064EA6D4
SEH chain of thread 000016CC Address SE handler 0162DB40 42424242
9. Report Timeline
- 2014-05-06: Core Security notifies Advantech of the vulnerability. Publication date is set for May 26th, 2014.
- 2014-05-09: CORE asks for a reply.
- 2014-05-26: First release date missed.
- 2014-05-26: Core Security notifies that the issues were reported 2 weeks ago and there was no reply since May 6th, 2014.
- 2014-05-29: Core Security contacts the ICS-CERT for assistance in order to coordinate the disclosure of the advisory.
- 2014-05-29: ICS-CERT acknowledges Core Security e-mail, and asks for a technical description of the vulnerability.
- 2014-05-29: Core Security sends technical details to the ICS-CERT.
- 2014-06-05: ICS-CERT team notifies that they have contacted the vendor and that they will notify us once the vendor has validated the vulnerabilities.
- 2014-06-18: ICS-CERT team notifies that the vendor is working in a new release, expected to be released in September, and ask if Core Security is interested in validating Advantech's vulnerability fix in their beta version.
- 2014-06-18: Core Security accepts the testing of the vendor beta version, but shares their concerns about waiting several months for fixes that are related to vulnerabilities already public.
- 2014-06-18: ICS-CERT notifies that they will let us know when they plan to make the beta version available for testing.
- 2014-07-03: ICS-CERT team notifies that the vendor is working to provide a download link for the beta version.
- 2014-07-08: ICS-CERT team sends download link provided by the vendor.
- 2014-07-10: Core Security confirms to ICS-CERT that the new version it's still vulnerable, and comments that after some analysis the vulnerable function doesn't has changes.
- 2014-07-10: ICS-CERT notifies that they will let the vendor know that that the vulnerabilities still exist. And asks to setup a teleconference between Core Security, the CERT and the vendor.
- 2014-07-10: Core Security notifies the ICS-CERT that all interactions are made via email only.
- 2014-07-10: ICS-CERT notifies they provided the information to the vendor.
- 2014-07-21: Core Security notifies the ICS-CERT that Tipping Point Zero Day Initiative has released several advisories[2] affecting the vendor including some that appears to be related to the one we are coordinating.
- 2014-07-21: ICS-CERT notifies that some of those advisories where in coordination with them, and that after a review of the link shared by Core Security are related to ICSA-14-198-02 and don't appear to be related to the reported vulnerability.
- 2014-07-21: Core Security notifies that ZDI-14-243 and ZDI-14-244 appears to be directly related.
- 2014-07-21: ICS-CERT is trying to contact Advantech to get a status update and their current plan for vulnerability remediation.
- 2014-08-07: ICS-CERT notifies that they contacted the vendor and they are waiting for an status update.
- 2014-08-21: Core Security contacts ICS-CERT since no reply was received in the past two weeks.
- 2014-08-21: ICS-CERT notifies that vendor representative stated that they are currently training a new product manager and they have not yet responded to the vulnerabilities we are discussing.
- 2014-08-28: Core Security notifies the ICS-CERT that the advisory publication is going to be scheduled for Monday 1st of September.
- 2014-08-28: ICS-CERT acknowledges Core Security e-mail.
- 2014-08-28: Core Security re-schedules the advisory publication for Sep 2nd, 2014.
- 2014-09-02: Core Security found out that the vendor released a silent fix on 30th of July.
- 2014-09-02: Core Security releases the advisory CORE-2014-0005 tagged as user-release.
10. References
[1] http://webaccess.advantech.com/.
[2] http://www.zerodayinitiative.com/advisories/published/.
[3] http://support.microsoft.com/kb/2458544.
[4] https://github.com/CoreSecurity/sentinel.
11. About CoreLabs
CoreLabs, the research center of Core Security, is charged with anticipating the future needs and requirements for information security technologies. We conduct our research in several important areas of computer security including system vulnerabilities, cyber attack planning and simulation, source code auditing, and cryptography. Our results include problem formalization, identification of vulnerabilities, novel solutions and prototypes for new technologies. CoreLabs regularly publishes security advisories, technical papers, project information and shared software tools for public use at: http://corelabs.coresecurity.com.
12. About Core Security Technologies
Core Security Technologies enables organizations to get ahead of threats with security test and measurement solutions that continuously identify and demonstrate real-world exposures to their most critical assets. Our customers can gain real visibility into their security standing, real validation of their security controls, and real metrics to more effectively secure their organizations.
Core Security's software solutions build on over a decade of trusted research and leading-edge threat expertise from the company's Security Consulting Services, CoreLabs and Engineering groups. Core Security Technologies can be reached at +1 (617) 399-6980 or on the Web at: http://www.coresecurity.com.
13. Disclaimer
The contents of this advisory are copyright (c) 2014 Core Security and (c) 2014 CoreLabs, and are licensed under a Creative Commons Attribution Non-Commercial Share-Alike 3.0 (United States) License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/
14. PGP/GPG Keys
This advisory has been signed with the GPG key of Core Security advisories team.