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

Blink XT2 Sync Module Multiple Vulnerabilities

High

Synopsis

CVE-2019-3983 - Insufficient UART Protections 

Exposed header pins allow serial connection to sync module which enables root access to the device with easily bypassed default credentials. A username of "root" and password of "willoXXX" where XXX is the last 3 digits of the serial number (readily available on outside of device) grants root access to the device.

CVSSv2 vector: (AV:L/AC:L/Au:N/C:C/I:C/A:C)

 CVE-2019-3984 - Command Injection via Sync Module Update

If DNS traffic from the sync module or camera is hijacked, these devices are vulnerable to command injection. The update scripts that retrieve updates remotely feed data directly to "os.execute()" without any validation. For example, hijacking the DNS lookups for the ".server" variable on our sync modules allows us to hijack requests intended for "<blink for home cloud endpoint>/fw/update_tls/<version number>" and return our own customized responses (such as "echo "Update hijacked." && id") which are then fed directly to "os.execute" within /root/apps/connection/start_get_sm_update.

CVSSv2 vector: (AV:N/AC:H/Au:N/C:C/I:C/A:C)

CVE-2019-3985 - Command Injection via Wifi Controller Parameter (ssid)

When enrolling/onboarding devices, user-supplied input is not properly validated for the "ssid" parameter, which could lead to remote code execution as this input is fed directly to "os.execute()". For example, the existing sanitize functionality only attempts to escape quotes and command substitution characters. These mitigations are easily bypassed by adding extra backslashes to escape the sanitized slashes. For example, the following input bypasses the existing mitigations: test\" && dropbear && echo \"

CVSSv2 vector: (AV:A/AC:M/Au:N/C:C/I:C/A:C)

CVE-2019-3986 - Command Injection via Wifi Controller Parameter (key)

When enrolling/onboarding devices, user-supplied input is not properly validated for the "key" parameter, which could lead to remote code execution as this input is fed directly to "os.execute()". For example, the existing sanitize functionality only attempts to escape quotes and command substitution characters. These mitigations are easily bypassed by adding extra backslashes to escape the sanitized slashes. For example, the following input bypasses the existing mitigations: test\" && dropbear && echo \"

CVSSv2 vector: (AV:A/AC:M/Au:N/C:C/I:C/A:C)

CVE-2019-3987 - Command Injection via Wifi Controller Parameter (encryption) 

When enrolling/onboarding devices, user-supplied input is not properly validated for the "encryption" parameter, which could lead to remote code execution as this input is fed directly to "os.execute()". For example, the existing sanitize functionality only attempts to escape quotes and command substitution characters. These mitigations are easily bypassed by adding extra backslashes to escape the sanitized slashes. For example, the following input bypasses the existing mitigations: test\" && dropbear && echo \"

CVSSv2 vector: (AV:A/AC:M/Au:N/C:C/I:C/A:C)

CVE-2019-3988 - Command Injection via Wifi Controller Parameter (bssid) 

When enrolling/onboarding devices, user-supplied input is not properly validated for the "bssid" parameter, which could lead to remote code execution as this input is fed directly to "os.execute()". For example, the existing sanitize functionality only attempts to escape quotes and command substitution characters. These mitigations are easily bypassed by adding extra backslashes to escape the sanitized slashes. For example, the following input bypasses the existing mitigations: test\" && dropbear && echo \"

CVSSv2 vector: (AV:A/AC:M/Au:N/C:C/I:C/A:C)

CVE-2019-3989 - Command Injection via Auth Gen Script  

If DNS traffic from the sync module or camera is hijacked, these devices are vulnerable to command injection. External output received by the "get_networks()" function in /root/apps/auth_gen/auth_gen is not properly validated prior to being fed directly to "os.execute()", which could lead to remote code execution as root.

CVSSv2 vector: (AV:N/AC:H/Au:N/C:C/I:C/A:C)

Outdated dnsmasq Version

The version of dnsmasq on the sync module appears to be 2.7.1, which is known to be vulnerable to several existing CVEs.

Solution

Ensure devices are updated to firmware version 2.13.11 or later.

Disclosure Timeline

August 24, 2019 - Initial Discovery
August 26, 2019 - Tenable attempts to establish security contact.
August 26, 2019 - Tenable finds the appropriate contact. Discloses issues.
August 26, 2019 - Tenable receives automated response.
September 3, 2019 - Tenable requests status update and formal acknowledgment.
September 9, 2019 - Tenable attempts final vendor contact.
September 25, 2019 - Amazon acknowledges report.
October 8, 2019 - Tenable requests status update.
October 10, 2019 - Amazon confirms that fixes are in progress.
October 28, 2019 - Tenable requests status update.
October 30, 2019 - Amazon confirms fixes are in progress.
November 15, 2019 - Amazon requests extension.
November 15, 2019 - Tenable sets new deadline to Dec. 4, publication on Dec. 5.
December 1, 2019 - Amazon states patches are rolling out.
December 2, 2019 - Tenable acknowledges.

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

Tenable Advisory ID: TRA-2019-51
Credit:
Jimi Sebree
CVSSv2 Base / Temporal Score:
7.6 / 6.3
CVSSv2 Vector:
AV:N/AC:H/Au:N/C:C/I:C/A:C
Affected Products:
Blink XT2 Sync Modules prior to version 2.13.11
Risk Factor:
High

Advisory Timeline

December 5, 2019 - Initial release
December 5, 2019 - Updated with version information from Amazon
December 10, 2019 - Corrected typos in advisory timeline and disclosure timeline.