Lucene search

K
talosTalos IntelligenceTALOS-2018-0686
HistoryDec 17, 2018 - 12:00 a.m.

Webroot BrightCloud SDK HTTP connection unsafe defaults vulnerability

2018-12-1700:00:00
Talos Intelligence
www.talosintelligence.com
91

6.8 Medium

CVSS2

Attack Vector

NETWORK

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:M/Au:N/C:P/I:P/A:P

8.1 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

0.002 Low

EPSS

Percentile

51.5%

Summary

An exploitable vulnerability exists in the HTTP client functionality of the Webroot BrightCloud SDK. The configuration of the HTTP client does not enforce a secure connection by default, resulting in a failure to validate TLS certificates. An attacker could impersonate a remote BrightCloud server to exploit this vulnerability.

Tested Versions

Webroot BrightCloud SDK

Product URLs

https://www.brightcloud.com/

CVSSv3 Score

8.1 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

CWE

CWE-295: Improper Certificate Validation

Details

BrightCloud provides an API service that allows its clients to access websitesโ€™ classification and reputation data - their service can be queried to retrieve the category for the content of a specific URL and its reputation index. BrightCloud also provides an SDK to access their web services API that can be used, for example, by appliances that want to restrict access to non-malicious sites.

A binary using this SDK, called webroot.so, was found to be inside the CUJO Smart Firewall โ€” an internet-of-things device that monitors wireless internet in the userโ€™s home โ€” running version 7003, and is used to detect and deny access to potentially malicious websites. Specifically, in the device that we tested, CUJO accesses the BrightCloud API at the URL bcap15.brightcloud.com over a plain HTTP connection.

While the following analysis is written in the context of the CUJO Smart Firewall, this advisory does apply to the Webroot BrightCloud SDK itself.

The bc_initialize function is called before performing any communication with remote BrightCloud servers, in order to configure the HTTP client.

The function expects a structure as parameter containing, among others:

  • Device: in our CUJO device, this field contains the string โ€œNextGen_FW_1โ€
  • OemId: in our CUJO device, this field contains the string โ€œCujoโ€
  • UID: in our CUJO device, this field contains 32-bytes hex string
  • Server: in our CUJO device, this field contains the string โ€œbcap15.brightcloud.comโ€

When specifying a Server string without protocol, the SDK defaults to using the insecure HTTP protocol to establish the remote connection to the specified server.

An attacker can exploit this behavior by performing a man-in-the-middle attack that could lead to the theft of credentials, the altering BrightCloud queries transparently, or even the exploitation of vulnerabilities in the underlying SDK.

As an example of this last scenario, this vulnerability can be used together with TALOS-2018-0683 in order to achieve remote code execution inside an appliance that is using Webroot BrightCloud SDK, such as the CUJO Smart Firewall.

Timeline

2018-10-10 - Vendor Disclosure
2018-10-17 - Vendor Patched
2018-12-17 - Public Release

6.8 Medium

CVSS2

Attack Vector

NETWORK

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

PARTIAL

AV:N/AC:M/Au:N/C:P/I:P/A:P

8.1 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

0.002 Low

EPSS

Percentile

51.5%

Related for TALOS-2018-0686