The Lenovo ThinkPlus FU100 is a fingerprint USB drive sold as AES-256 hardware encrypted. Researcher Xusheng Li opened one and found a standard SD card on a small board, with the files stored in plain text. The fingerprint reader only decided whether the USB connection switched on (HackingPassion writeup).

To read someone's "encrypted" FU100 you need a spudger and a cheap card reader. There's no crypto to break.

If you own one of these, or any USB drive with "hardware encrypted" on the box, below is what Li found, four ways to check your own drive, and how to put real encryption on a cheap stick in about five minutes.

What the FU100 teardown actually found

The timeline, from Li's disclosure and Lenovo's bulletin:

  • 2 August 2025: Li reports the FU100 to Lenovo.
  • 27 August 2025: Lenovo has an interim fix ready: epoxy over the SD card. That makes the card harder to pull out. The data still isn't encrypted.
  • 13 January 2026: Lenovo publishes advisory LEN-210545, rated high, with three CVEs:
    • CVE-2025-13453: someone with physical access can read the stored data. Lenovo's CVE record scores it 4.6 (CVSS 3.1) and 5.1 (CVSS 4.0). That's "medium" for a drive with no encryption at all.
    • CVE-2025-13454 (5.5): the configuration software leaks sensitive device information to a local user.
    • CVE-2025-13455 (7.8): a local user can bypass device authentication and enroll their own fingerprint (OpenCVE).
  • March 2026: Li presents the findings at RE//verse (slides on GitHub).

Affected models are the FU100, FU200, TU800 and TSD303. Lenovo calls the fix a "hardware-level solution": you call its China service line (+86 400-640-1886) for a free upgrade or replacement. The advisory lives on Lenovo's Chinese knowledge base, which may be why it took most of a year to reach English-language news.

The TSD303, an external SSD, did encrypt its data. It also sent the correct password back to the host over USB in plain text. Lenovo's first fix wrapped the password in SM4, with a key derived from something that looked like a timestamp (2021012700000000 in Li's test). Li traced it back with a debugger. The second fix, in December 2025, finally had the drive check the password itself.

Other "encrypted" USB drives failed the same way

Li's RE//verse talk covered ten devices built on the same vendor software kit. Six sent the password to the host in plain text. Two stored data unencrypted on a microSD card. Two "protected" the password with AES in a way that still exposed it.

His October 2026 follow-up went after software "secure USB" products. NetacFileLock used a fixed 32-byte AES-256 key baked into the executable; your password was checked separately and had nothing to do with the key. SecZure YutianDun had a hidden account Buffer with password 123456, plus a built-in System account with password SECZURE.COM. Both opened the files without the Administrator password. Li's line on that one: "I call this a backdoor from a technical perspective: the fixed passwords decrypt files without the user's password."

None of this is new. In December 2009, SySS cracked a SanDisk USB stick that carried a FIPS 140-2 certificate, and CVE records from January 2010 cover SanDisk Cruzer Enterprise and three Kingston DataTraveler models with similar flaws. Remember that when we get to certifications.

Is your encrypted USB drive actually encrypted? Four checks

1. Look for removable storage inside

This is the FU100 test. If the case opens and there's a microSD, SD or M.2 card in it, put that card in a plain reader on another machine and see what mounts.

lsblk -o NAME,SIZE,FSTYPE,LABEL,MODEL sudo blkid /dev/sdX 

If blkid reports vfat, exfat or ntfs with a label, or your files simply show up, the drive isn't encrypted and the lock is decoration.

2. Raw-read the start of the medium

Even if you can't open the case, you can look at what the host sees while the drive is locked, and at the raw medium if you can reach it:

sudo dd if=/dev/sdX bs=1M count=4 status=none | hexdump -C | head -40 sudo file -s /dev/sdX 

Plaintext gives itself away quickly. You'll see an MBR or GPT header, FAT32/EXFAT/NTFS boot strings, readable filenames. When you read the raw medium of a properly encrypted device (not the unlocked view the controller presents), it should look like noise. A quick check is compressibility:

sudo dd if=/dev/sdX bs=1M count=64 status=none | gzip -c | wc -c 

Ciphertext barely compresses, so you should get close to 67108864 bytes back. A result that's a fraction of that means structure, and structure means plaintext. Zeroed free space compresses too, though, so take the reading from a region that actually holds data.

3. Check the certificate, and know what it's worth

Search NIST's CMVP validated modules list for the exact product name. A real entry looks like certificate #5133: IronKey Keypad 200 Series, FIPS 140-3, overall Level 3, hardware module, active until 15 December 2029. If the box says "military grade" and there's no certificate number, assume nothing.

A certificate tells you an accredited lab looked at the crypto module. It's no guarantee, and the 2009 SanDisk and Kingston drives had certificates. Treat it as the minimum before you trust an all-in-one drive at all.

4. Ask where the key comes from

Most of Li's targets fail this one. In a real design, the data key is derived from or wrapped by your secret inside a crypto controller, and the check happens on the device. If the host software compares your password, or the fingerprint sensor toggles a USB switch, you have access control. Anyone with a screwdriver or a debugger gets past access control.

If you can't answer this from the vendor's docs, you can't answer it at all. That's why I don't buy hardware-encrypted drives from vendors without a certificate.

Real encryption in five minutes

Buy any boring USB stick and encrypt it with software you can inspect. The flash controller then only ever sees ciphertext, so it doesn't matter how bad its firmware is.

LUKS (Linux)

sudo cryptsetup luksFormat --type luks2 /dev/sdX1 sudo cryptsetup open /dev/sdX1 usb sudo mkfs.ext4 /dev/mapper/usb sudo mount /dev/mapper/usb /mnt # ...copy files... sudo umount /mnt && sudo cryptsetup close usb 

sudo cryptsetup luksDump /dev/sdX1 shows the cipher and KDF (argon2id by default on LUKS2). Linux-only in practice, which is fine if every machine you plug into runs Linux.

BitLocker To Go (Windows)

Run this from an admin prompt:

manage-bde -on E: -Password -EncryptionMethod xts_aes256 -UsedSpaceOnly manage-bde -status E: 

You need Pro or Enterprise to turn it on. Home can unlock it. On Linux, cryptsetup 2.3+ opens it with cryptsetup bitlkOpen. The XTS-AES drive won't open on Windows versions older than 10 1511, so use aes256 if you have to plug into something ancient. One warning from the HN thread: check where your recovery key went. If it went to a Microsoft account, it's sitting on Microsoft's servers.

VeraCrypt (everything)

veracrypt --text --create /dev/sdX1 --volume-type=normal \ --encryption=AES --hash=SHA-512 --filesystem=exFAT 

It runs on Windows, macOS and Linux, it's open source, and it's been audited. The catch is that every machine needs VeraCrypt installed, and on many systems that means admin rights. If you can't install software on the target machine, BitLocker To Go is the practical choice.

Option Platforms Needs install on target Key derived from your secret Auditable
LUKS2 Linux No (usually built in) Yes (argon2id) Yes
BitLocker To Go Windows (unlock on Home), Linux via cryptsetup No on Windows Yes No
VeraCrypt Win/macOS/Linux Yes Yes Yes
FIPS 140-3 L3 keypad drive Any OS No Per certificate Lab-reviewed only
Lenovo FU100 Any OS No No key exists Yes, with a card reader

My take

Lenovo shipped a USB stick with zero encryption, put AES-256 on the box, and answered the report with epoxy. On the FU100 the fingerprint reader works like a light switch for the USB connection, and the CVE for it is rated medium.

What I take from it is that a lock on the outside of a device tells you nothing about the data on the inside. Unless a certificate number says otherwise, treat every "secure" USB gadget as a plain USB stick and layer LUKS, BitLocker or VeraCrypt on top. It costs you five minutes and a password prompt.

Have you ever opened up a "secure" gadget and found nothing secure inside? And what do you actually trust for portable encrypted storage: a certified keypad drive, or software on a cheap stick? Tell me why I'm wrong in the comments.

Sources