Security
Headlines
HeadlinesLatestCVEs

Headline

Verbatim Keypad Secure USB 3.2 Gen 1 Drive Missing Control

When analyzing the USB drive Verbatim Keypad Secure version 3.2 Gen 1 Drive, Matthias Deeg found out that the validation of the firmware for the USB-to-SATA bridge controller INIC-3637EN only consists of a simple CRC-16 check (XMODEM CRC-16). Thus, an attacker is able to store malicious firmware code for the INIC-3637EN with a correct checksum on the used SPI flash memory chip (XT25F01D), which then gets successfully executed by the USB-to-SATA bridge controller.

Packet Storm
#vulnerability#web#git#auth#ssl

Advisory ID: SYSS-2022-003
Product: Keypad Secure USB 3.2 Gen 1 Drive
Manufacturer: Verbatim
Affected Version(s): Part Number #49428
Tested Version(s): Part Number #49428
Vulnerability Type: Missing Immutable Root of Trust in Hardware
(CWE-1326)
Risk Level: Medium
Solution Status: Open
Manufacturer Notification: 2022-01-27
Solution Date: -
Public Disclosure: 2022-06-08
CVE Reference: CVE-2022-28383
Author of Advisory: Matthias Deeg (SySS GmbH)


Overview:

The Verbatim Keypad Secure is a USB drive with AES 256-bit hardware  
encryption and a built-in keypad for passcode entry.

The manufacturer describes the product as follows:

"The AES 256-bit Hardware Encryption seamlessly encrypts all data on the  
drive in real-time with a built-in keypad for passcode input. The USB  
Drive does not store passwords in the computer or system's volatile  
memory making it far more secure than software encryption. Also, if it  
falls into the wrong hands, the device will lock and require  
re-formatting after 20 failed passcode attempts."[1]

Due to insufficient firmware validation, an attacker can store  
malicious firmware code for the USB-to-SATA bridge controller on the USB  
drive which gets executed.

Vulnerability Details:

When analyzing the USB drive Verbatim Keypad Secure, Matthias Deeg found
out that the validation of the firmware for the USB-to-SATA bridge
controller INIC-3637EN only consists of a simple CRC-16 check (XMODEM
CRC-16).

Thus, an attacker is able to store malicious firmware code for the
INIC-3637EN with a correct checksum on the used SPI flash memory chip
(XT25F01D), which then gets successfully executed by the USB-to-SATA
bridge controller.

For instance, this security vulnerability could be exploited in a
so-called “supply chain attack” when the device is still on its way to
its legitimate user.

An attacker with temporary physical access during the supply could
program a modified firmware on the Verbatim Keypad Secure, which always
uses an attacker-controlled AES key for the data encryption, for
example.

If, later on, the attacker gains access to the used USB drive, he
can simply decrypt all contained user data.


Proof of Concept (PoC):

SySS was able to read and write the SPI flash memory containing the  
firmware of the INIC-3637EN controller (128 KB) using a universal  
programmer.

By analyzing the dumped memory content, SySS found out that the  
INIC-3637EN firmware is stored from the file offset 0x4000 to the file  
offset 0x1BFFB, and that the corresponding XMODEM CRC-16 is stored at  
the file offset 0x1FFFC.

Matthias Deeg developed a simple Python tool for updating the checksum  
of modified firmware images before writing them to the SPI flash memory  
chip.

The following output exemplarily shows updating a modified firmware  
image:

$ python update-firmaware.py firmware_hacked.bin  
Verbatim Secure Keypad Firmware Updater v0.1 - Matthias Deeg, SySS GmbH   
(c) 2022  
[*] Computed CRC-16 (0x03F5) does not match stored CRC-16 (0x8B17).  
[*] Successfully updated firmware file

Solution:

SySS GmbH is not aware of a solution for the described security issue.


Disclosure Timeline:

2022-01-27: Vulnerability reported to manufacturer  
2022-02-11: Vulnerability reported to manufacturer again  
2022-03-07: Vulnerability reported to manufacturer again  
2022-06-08: Public release of security advisory

References:

[1] Product website for Verbatim Keypad Secure

https://www.verbatim-europe.co.uk/en/prod/verbatim-keypad-secure-usb-32-gen-1-drive-64gb-49428/#
[2] GitHub repository of flashrom
https://github.com/flashrom/flashrom
[3] SySS Security Advisory SYSS-2022-003

https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2022-003.txt
[4] SySS GmbH, SySS Responsible Disclosure Policy
https://www.syss.de/en/responsible-disclosure-policy


Credits:

This security vulnerability was found by Matthias Deeg of SySS GmbH.

E-Mail: matthias.deeg (at) syss.de  
Public Key:   
https://www.syss.de/fileadmin/dokumente/Materialien/PGPKeys/Matthias_Deeg.asc  
Key fingerprint = D1F0 A035 F06C E675 CDB9 0514 D9A4 BF6A 34AD 4DAB

Disclaimer:

The information provided in this security advisory is provided “as is”
and without warranty of any kind. Details of this security advisory may
be updated in order to provide as accurate information as possible. The
latest version of this security advisory is available on the SySS website.


Copyright:

Creative Commons - Attribution (by) - Version 3.0  
URL: http://creativecommons.org/licenses/by/3.0/deed.en

Related news

Verbatim Store 'n' Go Secure Portable SSD Missing Trust

When analyzing the external data storage Verbatim Store 'n' Go Secure Portable SSD, Matthias Deeg found out that the validation of the firmware for the USB-to-SATA bridge controller INIC-3637EN only consists of a simple CRC-16 check (XMODEM CRC-16).

Verbatim Executive Fingerprint Secure SSD GDMSFE01-INI3637-C VER1.1 Missing Trust

When analyzing the Verbatim Executive Fingerprint Secure SSD, Matthias Deeg found out that the validation of the firmware for the USB-to-SATA bridge controller INIC-3637EN only consists of a simple CRC-16 check (XMODEM CRC-16). Thus, an attacker is able to store malicious firmware code for the INIC-3637EN with a correct checksum on the used SPI flash memory chip (XT25F01D), which then gets successfully executed by the USB-to-SATA bridge controller.

Verbatim Fingerprint Secure Portable Hard Drive #53650 Missing Trust

When analyzing the Fingerprint Secure Portable Hard Drive, Matthias Deeg found out that the validation of the firmware for the USB-to-SATA bridge controller INIC-3637EN only consists of a simple CRC-16 check (XMODEM CRC-16). Thus, an attacker is able to store malicious firmware code for the INIC-3637EN with a correct checksum on the used SPI flash memory chip (XT25F01B), which then gets successfully executed by the USB-to-SATA bridge controller.

Verbatim Store N Go Secure Portable HDD GD25LK01-3637-C VER4.0 Missing Trust

When analyzing the external SSD Verbatim Store n Go Secure Portable HDD, Matthias Deeg found out that the validation of the firmware for the USB-to-SATA bridge controller INIC-3637EN only consists of a simple CRC-16 check (XMODEM CRC-16). Thus, an attacker is able to store malicious firmware code for the INIC-3637EN with a correct checksum on the used SPI flash memory chip (XT25F01D), which then gets successfully executed by the USB-to-SATA bridge controller. For instance, this security vulnerability could be exploited in a so-called "supply chain attack" when the device is still on its way to its legitimate user. An attacker with temporary physical access during the supply could program a modified firmware on the Verbatim Keypad Secure, which always uses an attacker-controlled AES key for the data encryption, for example. If, later on, the attacker gains access to the used USB drive, he can simply decrypt all contained user data.

CVE-2022-28383

An issue was discovered in certain Verbatim drives through 2022-03-31. Due to insufficient firmware validation, an attacker can store malicious firmware code for the USB-to-SATA bridge controller on the USB drive (e.g., by leveraging physical access during the supply chain). This code is then executed. This affects Keypad Secure USB 3.2 Gen 1 Drive Part Number #49428, Store 'n' Go Secure Portable HDD GD25LK01-3637-C VER4.0, Executive Fingerprint Secure SSD GDMSFE01-INI3637-C VER1.1, and Fingerprint Secure Portable Hard Drive Part Number #53650.

Packet Storm: Latest News

CUPS IPP Attributes LAN Remote Code Execution