Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

[R2] Advantech WebAccess Stack Buffer Overflow

Critical

Synopsis

While developing a Nessus plugin to detect CVE-2017-16720, Tenable found an unauthenticated remote stack buffer overflow in BwPAlarm.dll shipped with Advantech WebAccess version 8.3.2. The flaw is due to improper validation of user-supplied input. The overflow can be triggered by sending a specially crafted DCERPC message with opcode 70022 to webvrpcs.exe.

The following disassembly shows the vulnerable code copies a user-supplied string to a fixed-size stack buffer:

.text:0700391E           lea     edx, [ebp+var_59C] ; stack buffer of fixed size
.text:07003924           repne scasb ; edi = user-supplied string
.text:07003926           not     ecx ; length of the string including the NUL char
.text:07003928           sub     edi, ecx
.text:0700392A           push    3Ah
.text:0700392C           mov     eax, ecx
.text:0700392E           mov     esi, edi
.text:07003930           mov     edi, edx
.text:07003932           shr     ecx, 2
.text:07003935           rep movsd ; strcpy(stack_buf, long_str) = stack overflow!!!
.text:07003937           mov     ecx, eax
.text:07003939           and     ecx, 3
.text:0700393C           rep movsb

Solution

Upgrade to Advantech WebAccess 8.3.4 or newer.

Disclosure Timeline

08/29/2018 - Vulnerability discovered.
09/05/2018 - Vulnerability reported to Advantech. 90 day date is Dec. 3, 2018.
09/10/2018 - Tenable asks Advantech to confirm receipt.
09/17/2018 - Tenable sends a final notice to Advantech. Tenable indicates they will disclose to ICS-CERT on Oct. 19 if Advantech does not respond.
10/23/2018 - Tenable discloses to ICS-CERT. 90 day shifted to Dec. 7.
10/24/2018 - Advantech replies to the ICS-CERT disclosure.
10/24/2018 - Tenable replies to Advantech.
11/07/2018 - ICS-Cert indicates Advantech will release a fix in late December. Asks Tenable if they still plan to disclose on Dec. 3 even without a patch.
11/07/2018 - Tenable replies that they will disclose with or without a patch. Tenable also mentions the two week grace period in their disclosure policy.
11/15/2018 - Tenable corrects the disclosure date from Dec. 3rd to Dec. 7th. See timeline above.
12/05/2018 - ICS-CERT informs Tenable that Advantech will release an update on December 14.
12/05/2018 - Tenable agrees to hold their advisory until December 14 as per their disclosure policy. Tenable asks if a CVE has been assigned.
12/05/2018 - ICS-CERT says they will acquire a CVE.
12/05/2018 - ICS-CERT assigns CVE-2018-18999.
12/14/2018 - Advantech releases WebAccess 8.3.4.
12/14/2018 - Tenable publishes an advisory and sends a link to ICS-CERT.
12/19/2018 - ICS-CERT issues an advisory.

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Risk Information

CVE ID: CVE-2018-18999
Tenable Advisory ID: TRA-2018-45
CVSSv2 Base / Temporal Score:
10.0 / 8.3
CVSSv2 Vector:
AV:N/AC:L/Au:N/C:C/I:C/A:C
Nessus Plugin ID: 119845
Affected Products:
WebAccess 8.3.2 and below
Risk Factor:
Critical
Additional Keywords:
ICSA-18-352-02

Advisory Timeline

12-14-2018 - [R1] Initial Release
12-19-2018 - [R2] Updated with ICS-CERT advisory