Trustwave recently discovered a locally exploitable issue in the macOS version of the Webroot SecureAnywhere solution. The issues root cause is an arbitrary user-supplied pointer being read from and potentially written too. As such, the issue arms an attacker with a write-what-where kernel gadget with the caveat that the original value of the memory referenced by the pointer must be equal to (int) -1.
The vulnerable code is as follows:
__text:0000000000002BDC 000 push rbp
__text:0000000000002BDD 008 mov rbp, rsp
__text:0000000000002BE0 008 mov rax, [rsi+20h]
__text:0000000000002BE4 008 mov rcx, [rax]
__text:0000000000002BE7 008 test rcx, rcx
__text:0000000000002BEA 008 jz short loc_2C02
__text:0000000000002BEC 008 cmp dword ptr [rcx], 0FFFFFFFFh ; arbitrary dereference
__text:0000000000002BEF 008 jnz short loc_2C02
__text:0000000000002BF1 008 mov eax, [rax+8]
__text:0000000000002BF4 008 mov [rcx], eax ; dword arbitrary write-what-where
__text:0000000000002BF6 008 mov rdi, rcx
__text:0000000000002BF9 008 call _wakeup
Of course the exploitability of the issue is somewhat limited in that the original value of the memory address dereferenced must be (int) -1. However this does not preclude a workable exploit being possible if an attacker were able to bypass KASLR on the versions of OSX/macOS supported by SecureAnywhere.
Any exploit would result in local kernel mode code execution. While macOS is an important target for attackers, the installation base of Windows still outpaces Mac. Being local only, an attacker would need malware executing locally or convince a logged-in user to open the exploit via social engineering.
Webroot fixed this vulnerability and users are recommended to ensure automatic updates are enabled for MacOS agent installs. Those who prefer to manually upgrade should install version 9.0.8.34 or the latest stable release. This vulnerability has been issued CVE-2018-16962.
Webroot issued the following statement regarding this vulnerability:
"The security of our customers is of paramount importance to Webroot. This vulnerability was remedied in software version 9.0.8.34 which has been available for our customers since July 24, 2018. We have no evidence of any compromises from this vulnerability.
For any user running a version of Mac not currently supported by Apple (OS 10.8 or lower), we recommend upgrading to an Apple-supported version to receive our updated agent and be in line with cybersecurity best practices on system patching.
Collaboration in the cybersecurity community is what keeps us all safer. We appreciate the Trustwave SpiderLabs team's use of responsible disclosure to help protect the wider community from cyberthreats."
For more information you can read our advisory here: TWSL2018-009