Researcher Reports USB and NFC Flaws in Hardware Wallet, Criticizes Bug Bounty Response

· 17:19 · Watch on YouTube ↗

Summary

Sergei Volokitin says a USB buffer overflow in a Cyper rock hardware wallet let him extract a PIN and 24-word root seed. He says the vendor fixed the bug two days after his report, but took 186 days to respond; he also found an unchecked NFC APDU overflow.

Key points

  • Volokitin says the wallet accepted USB packets before PIN entry and insufficient length checks let crafted packets overflow a 6 KB buffer.
  • In his demonstration, the USB flaw let him read device memory, recover the user's PIN, and extract the 24-word root seed used to derive private keys.
  • He reports the device lacked mitigations such as ASLR and stack cookies.
  • Volokitin says the vendor's code showed the USB overflow fixed on November 5, two days after his November 3 report; he inferred the vendor had viewed his unlisted demonstration from its view analytics.
  • He says the vendor responded after 186 days, called the issue a duplicate, and offered $1,000 and a two-year warranty, which he declined.
  • At the time of the talk, he found a separate unchecked NFC APDU length that could overflow a 32-byte stack buffer.
  • His takeaways include securing complex USB attack surfaces, ensuring audits have adequate scope and expertise, and recognizing that bug bounty programs can result in fixes.

Article Details

Topics
  • [00:40] Hardware wallet security model and trusted user interface
  • [01:50] Wallet design and Shamir secret sharing
  • [05:16] USB packet length checks and buffer overflow
  • [09:01] Demonstration extracting a PIN and root seed
  • [11:13] Vulnerability disclosure and bug bounty response
  • [13:18] Demo-view analytics and reported fix timeline
  • [14:57] Separate NFC APDU buffer overflow
  • [16:14] Hardware security, audit scope, and bug bounty lessons

People

Vendors

Industries