Breaking the Vault: USB Bugs and Bug Bounty Failures
Sergei Volokitin (Independent Security Researcher · Hexplot)
Hexacon 2025 · Day 1 · Main Stage
Overview
In this insightful Hexacon talk, independent security researcher Sergei Volokitin, known as Hexplot, delves into the critical vulnerabilities he uncovered in the Cypherock X1 hardware wallet, a device marketed as one of the "strongest, securest" solutions for cryptocurrency key storage. The presentation meticulously details a severe USB buffer overflow vulnerability that allowed an attacker to silently extract sensitive user data, including the user's PIN and the entire 24-word root secret (seed phrase), directly from the device's memory. This finding directly contradicts the vendor's core security claims that the wallet remains safe even if the connected PC is compromised.

Key moments
- 0:00 Introduction to hardware wallets and their security model
- 1:55 Introducing Cypherock wallet and Shamir Secret Sharing scheme
- 3:30 Vendor's security focus and surprisingly weak audit findings
- 4:48 Discovering the critical USB memcopy buffer overflow
- 5:40 Detailed explanation of the USB buffer overflow vulnerability
- 6:25 Exploitation strategy and absence of crucial security mitigations
Breaking the Vault: USB Bugs and Bug Bounty Failures
Speakers: Sergei Volokitin (Hexplot)
Conference: Hexacon
YouTube: https://www.youtube.com/watch?v=eG8_2M3dups
Overview
In this insightful Hexacon talk, independent security researcher Sergei Volokitin, known as Hexplot, delves into the critical vulnerabilities he uncovered in the Cypherock X1 hardware wallet, a device marketed as one of the "strongest, securest" solutions for cryptocurrency key storage. The presentation meticulously details a severe USB buffer overflow vulnerability that allowed an attacker to silently extract sensitive user data, including the user's PIN and the entire 24-word root secret (seed phrase), directly from the device's memory. This finding directly contradicts the vendor's core security claims that the wallet remains safe even if the connected PC is compromised.
Volokitin's research not only exposes a fundamental flaw in a device designed for high-security applications but also shines a harsh light on the often-challenging landscape of bug bounty programs. The talk highlights how a critical, easily discoverable vulnerability was initially dismissed by the vendor as a "duplicate" or "known issue," despite clear evidence of a rapid, post-disclosure patch. This narrative serves as a cautionary tale for both hardware wallet manufacturers regarding secure development practices and for security researchers navigating potentially disingenuous bug bounty interactions.
The Cypherock X1 stands out with its unique architecture, employing Shamir Secret Sharing across a vault and multiple smart cards to fragment cryptographic keys. While this distributed approach aims to enhance physical security and provide robust backup, Volokitin's findings demonstrate that even sophisticated cryptographic schemes cannot compensate for basic, exploitable software vulnerabilities in the device's communication protocols. The talk underscores the persistent challenge of securing complex embedded systems, particularly those handling untrusted input over interfaces like USB, and the dire consequences when fundamental memory safety is neglected.
Background
▶ Watch: Introduction to hardware wallets and their security model (0:00)
Hardware wallets are specialized cryptographic devices designed to provide a secure environment for storing private cryptocurrency keys, isolating them from potentially compromised general-purpose computers or smartphones. Their core value proposition rests on several pillars: secure storage (keys never leave the device), user authentication (PINs, biometrics), transaction signing and verification on the device, and a trusted UI (displaying transaction details to prevent malware-induced swaps on the host). The ultimate goal is to protect against both remote software attacks on the host PC and various physical attacks on the wallet itself.
The Cypherock X1 attempts to elevate this security model through a distinctive multi-component architecture. It consists of a central "Vault" and four accompanying smart cards. The innovative element is its use of Shamir Secret Sharing, a cryptographic algorithm that splits a secret (the user's private key) into multiple unique "shares." To reconstruct the original secret, only a predetermined number of these shares (e.g., 3 out of 5 components) are required. In the Cypherock X1's design, each of the four cards and the Vault itself holds one share. This means that at rest, no single component possesses the entire secret, theoretically enhancing security against theft of individual parts and providing a robust backup mechanism if some components are lost. The Vault handles USB communication with the host PC and NFC communication with the smart cards to retrieve shares and perform cryptographic operations.
Cypherock heavily marketed its device as exceptionally secure, explicitly stating that "if your PC is hacked, the wallet always is safe because the keys are always there. They cannot be compromised. It's well protected." This claim forms the crucial backdrop for Volokitin's investigation, as it defines the precise threat model the device purports to defend against. Furthermore, the vendor claimed to prioritize protection against remote attacks, which aligned perfectly with Volokitin's focus as a bug bounty hunter.
Adding to the context, vendors of hardware wallets often publish third-party audit reports to bolster confidence. Volokitin noted that Cypherock had published an audit by "Keys," but found its findings suspicious: only seven "low" or "informative" issues were reported, such as "test points easily accessible on the PCB" or recommendations to use strnlen instead of strlen. Such superficial findings for a complex, security-critical device suggested either an exceptionally secure product or, more likely, an audit with insufficient depth or scope. This discrepancy motivated Volokitin to conduct his own investigation, anticipating that deeper vulnerabilities might be present.
Key Findings
▶ Watch: Vendor's security focus and surprisingly weak audit findings (3:30)
Sergei Volokitin's investigation into the Cypherock X1 quickly yielded critical findings that shattered the vendor's security claims. Within approximately an hour of reviewing the device's open-source firmware, he discovered a severe USB buffer overflow vulnerability. This flaw was present in the device's USB communication handling during its early boot sequence, meaning it could be triggered even before a user entered their PIN. The vulnerability allowed an attacker to achieve arbitrary memory read and write capabilities, a highly impactful primitive in embedded systems, especially given the complete absence of common memory safety mitigations.
The primary consequence of this buffer overflow was the silent and complete compromise of all cryptographic assets stored on the device. Volokitin demonstrated that an attacker could remotely extract:
- The user's PIN: The authentication credential used to unlock the device's functionality.
- The 24-word root secret (seed phrase): This is the master key from which all other cryptocurrency private keys are derived. Possessing this phrase grants an attacker full control over all funds associated with the wallet.
Crucially, the exploitation of this vulnerability was entirely silent from the user's perspective. The device's "trusted UI" displayed normal operations, giving no indication that its memory was being actively exfiltrated by a malicious host PC. This directly invalidated Cypherock's core security assertion that the wallet remains safe even if the host PC is compromised.
Beyond the technical vulnerability, Volokitin's experience with Cypherock's bug bounty program revealed significant issues. After reporting the critical flaw, the vendor initially failed to respond, later claiming the report went to a "spam folder." Following an out-of-band reach-out, the vendor eventually responded 186 days later, dismissing the vulnerability as a "known issue" and a "duplicate," offering only a token compensation of $1,000 and a two-year warranty on Volokitin's wallet. However, Volokitin provided compelling forensic evidence from YouTube analytics (for an unlisted PoC video sent only to the vendor) and GitHub commit history. This showed that the vendor accessed the PoC video within 24 hours of the report and pushed a "hot fix for buffer overflow" to their public repository just two days later, directly contradicting their claim of prior knowledge.
Further illustrating a pattern of insecure development, Volokitin also discovered another stack buffer overflow vulnerability in the device's NFC communication handling (specifically in the APDU processing), demonstrating that the lack of robust input validation was not an isolated incident but a systemic issue across different communication interfaces. He ironically termed this a "zero day" but, given the vendor's approach, suggested it was more "common knowledge" of their security posture.
Technical Deep Dive
▶ Watch: Discovering the critical USB memcopy buffer overflow (4:48)
The core of the vulnerability lies within the Cypherock X1 Vault's handling of USB communication during its initial boot sequence. The device, upon being plugged into a PC, immediately enters a state where it awaits USB packets, even before any user interaction like PIN entry. This early availability of the USB interface significantly expands the attack window.
The specific vulnerability is a buffer overflow occurring in a global buffer named commio_buffer, which is allocated in the BSS (Block Started by Symbol) segment of the device's memory. This buffer is approximately 6 kilobytes in size and is intended to store incoming USB data chunks.
The USB communication protocol, as implemented by Cypherock, works as follows:
- The host PC sends an initial "init" packet that specifies the total number of subsequent data chunks the wallet should expect.
- The wallet then receives these data chunks sequentially. Due to USB packet size limitations, each chunk is typically a maximum of 64 bytes.
- The wallet's firmware uses
memcpyto concatenate these incoming chunks into thecommio_buffer.
The critical flaw lies in the insufficient length checks performed during this memcpy operation. While the wallet might expect a certain number of chunks, the cumulative length of these chunks is not adequately validated against the fixed size of the commio_buffer. An attacker can specify a large number of chunks or send oversized chunks (though USB limits this to 64 bytes per packet, the cumulative length is the issue), causing the memcpy to write past the allocated boundaries of commio_buffer.
The exploitation of this buffer overflow into an arbitrary memory read primitive was facilitated by the complete lack of standard memory safety mitigations. The Cypherock X1 firmware did not implement ASLR (Address Space Layout Randomization), stack cookies (canaries), or DEP (Data Execution Prevention)/NX bits. This absence of mitigations meant that memory addresses were predictable, and overwriting critical control structures did not immediately trigger crashes due to integrity checks.
Volokitin identified that directly following the commio_buffer in memory were two crucial structures used by the USB communication logic: com_payload and com_status.
- The
com_statusstructure contains a flag,command_state, which, when set todone, signals the wallet to respond with prepared data. - The
com_payloadstructure contains pointers, specificallyraw_dataandprotodata, which dictate the memory location from which the wallet should read data to send back to the host.
The exploitation sequence for arbitrary memory read was as follows:
- The attacker sends a crafted series of USB packets that deliberately overflow the
commio_buffer. - This overflow is strategically used to overwrite the adjacent
com_statusstructure. Thecommand_stateflag within this structure is set todone. - Simultaneously, the attacker corrupts the
raw_dataandprotodatapointers within thecom_payloadstructure. These pointers are redirected to point to desired memory locations within the wallet's address space. For instance, to extract the PIN or seed phrase, these pointers would be directed to the memory regions where these sensitive values are temporarily stored during user interaction. - The attacker also sets a large length value in the
com_payloadstructure, instructing the wallet to read a substantial block of data from the attacker-controlled address. - With
command_stateset todoneand the pointers hijacked, subsequent USB read requests from the host PC cause the wallet to continuously dump memory from the attacker-specified locations back to the host.
This elegant yet devastating exploit chain allowed Volokitin to extract the PIN and the 24-word root secret live from the device's memory, demonstrating a complete subversion of the hardware wallet's security guarantees. The absence of mitigations transformed a simple buffer overflow into a full memory compromise, highlighting a fundamental failure in secure embedded system design.
The subsequent discovery of another stack buffer overflow in the NFC APDU (Application Protocol Data Unit) processing, where a 32-byte target buffer was written to with an unchecked length value up to 256 bytes, further cemented the conclusion that the vendor had a systemic issue with input validation and memory safety. While this NFC vulnerability required local interaction (proximity to the device with a malicious NFC card), it underscored a broader pattern of insecurity.
Demo / Proof of Concept
▶ Watch: Detailed explanation of the USB buffer overflow vulnerability (5:40)
Sergei Volokitin presented a compelling live demonstration of the exploit, showcasing the silent and complete compromise of the Cypherock X1 wallet. The demonstration highlighted the ease and stealth with which the critical security assets could be exfiltrated.
The scenario unfolded as follows:
- Device Initialization: The user plugs the Cypherock X1 Vault into their computer. As the device boots, it immediately begins listening for USB communication.
- Silent Attack: The attacker, operating from the host PC (which is assumed to be compromised, fitting the vendor's threat model), executes a simple malware program. This program sends a series of carefully crafted USB packets to the Cypherock X1.
- Buffer Overflow Triggered: These packets exploit the USB buffer overflow vulnerability. Within a second, the exploit triggers, overwriting critical internal pointers and status flags within the device's memory.
- Memory Dumping Commences: Crucially, the device's external behavior remains completely normal. The user sees nothing amiss on the wallet's display. However, in the background, the hijacked USB communication now causes the wallet to silently dump its internal memory contents to the host PC on subsequent read requests.
- PIN Exfiltration: The user proceeds with a typical operation: entering their PIN on the Cypherock X1's trusted UI. As the PIN is typed and processed by the device, the attacker's malware, continuously receiving memory dumps, captures the PIN live from the wallet's RAM. In the demonstration, the typed PIN "03060" was visibly displayed on the attacker's console in real-time.
- Root Secret Exfiltration: Following PIN entry, the user typically interacts with the smart cards to reconstruct their keys using Shamir Secret Sharing. As the 24-word root secret (seed phrase) is reconstructed and temporarily held in the wallet's memory for display and transaction signing, the attacker's malware again captures this highly sensitive data live. The entire 24-word seed phrase, the ultimate key to all associated cryptocurrencies, was shown being streamed from the device to the host.
- Complete Compromise: The demonstration concluded by showing that with both the PIN and the root secret extracted, the attacker had achieved a complete compromise of all cryptographic assets associated with the Cypherock X1 wallet. The user, unaware of the silent data exfiltration, would believe their transaction was securely signed and their keys remained protected within the hardware wallet.
This proof of concept was powerful because it directly contradicted the vendor's core security promises and showcased a practical, stealthy attack that bypasses the fundamental security mechanisms a hardware wallet is supposed to provide.
Defensive Implications
▶ Watch: Exploitation strategy and absence of crucial security mitigations (6:25)
The vulnerabilities exposed in the Cypherock X1 carry significant defensive implications for both hardware wallet manufacturers and the broader embedded systems security landscape.
- Rigorous Input Validation: The most immediate and critical takeaway is the absolute necessity of robust input validation for all data received from untrusted sources. This applies particularly to external communication interfaces like USB and NFC. Every byte received must be checked against expected lengths, types, and formats before being processed or copied into memory buffers.
memcpyand similar functions must always be accompanied by explicit and correct length checks to prevent buffer overflows. This is a fundamental principle of secure coding that, when neglected, leads to catastrophic failures.
- Implement Memory Safety Mitigations: The absence of basic memory safety mitigations like ASLR (Address Space Layout Randomization), stack cookies (canaries), and DEP (Data Execution Prevention)/NX bits turned a buffer overflow into a trivial arbitrary read/write primitive. Hardware and embedded device manufacturers must prioritize enabling and configuring these protections in their toolchains and operating systems, even for resource-constrained environments. While not always a complete panacea, they significantly raise the bar for exploitation, making it harder for attackers to achieve reliable code execution or information leakage.
- Secure Development Lifecycle (SDL): The repeated occurrence of buffer overflows across different communication interfaces (USB and NFC) suggests a lack of a mature Secure Development Lifecycle. Security must be integrated from the design phase through implementation and testing, rather than being an afterthought. This includes threat modeling, secure coding guidelines, static analysis, dynamic analysis, and comprehensive penetration testing.
- Effective Security Audits: The talk highlighted the inadequacy of the vendor's prior security audit, which yielded only low-impact findings. Vendors must engage truly independent and highly competent security auditors. The scope of audits must be comprehensive, covering all attack surfaces (including low-level communication protocols) and allowing sufficient time for deep investigation. Audits should not be treated as a checkbox exercise; suspiciously low numbers of findings for complex systems should prompt further scrutiny.
- Transparency and Fairness in Bug Bounty Programs: For the security community and vendors alike, the experience with Cypherock's bug bounty program is a stark reminder of how not to manage vulnerability disclosure. Vendors should:
- Respond promptly and genuinely: Acknowledge reports, communicate status, and avoid disingenuous claims of "spam folders."
- Value researcher contributions: Recognize the effort and expertise required to find critical vulnerabilities.
- Be transparent and honest: Do not claim a vulnerability is a "duplicate" or "known issue" if it was independently discovered and immediately patched post-disclosure.
- Provide fair compensation: Bounties should reflect the severity and impact of the vulnerability. Burning bridges with researchers through poor conduct damages reputation and discourages future disclosures, ultimately making products less secure.
- User Awareness and Realistic Threat Models: Users of hardware wallets should remain vigilant. While these devices offer enhanced security, they are not infallible. Claims of "unhackable" or "always safe" should be met with skepticism. Users should understand that even with advanced cryptographic schemes like Shamir Secret Sharing, fundamental implementation flaws can still lead to compromise, especially if the device's interaction with a potentially malicious host is not perfectly secure.
In conclusion, the Cypherock X1 case serves as a critical lesson that sophisticated cryptographic architectures cannot compensate for basic software security failures. Robust input validation and the deployment of standard memory safety mitigations are foundational requirements for any device claiming to offer high security, particularly those entrusted with sensitive assets like cryptocurrency keys.
Key Takeaways
- USB is a Critical and Complex Attack Surface: The USB interface, often overlooked in the context of hardware wallet security, presents a significant and complex attack surface. Its low-level protocol and the custom implementations built on top are prone to errors if not handled with extreme care and rigorous validation.
- Lack of Memory Mitigations is a Blatant Security Flaw: The absence of fundamental memory safety mitigations like ASLR, stack cookies, and DEP in "secure" hardware devices is a critical oversight. These protections are standard in modern software development and their omission makes exploitation of memory corruption vulnerabilities significantly easier, turning simple bugs into high-impact compromises.
- Security Audits Must Be Robust and Unbiased: The quality and scope of third-party security audits are paramount. An audit that produces only low-impact findings for a complex security-critical device should be viewed with skepticism. Vendors must ensure audits are conducted by competent, independent parties with sufficient time and a broad scope to uncover deep-seated vulnerabilities, rather than serving as a mere marketing exercise.
- Bug Bounty Programs Require Transparency and Integrity: The speaker's experience highlights the challenges and ethical issues within some bug bounty programs. Vendors must engage transparently, respond promptly, honestly acknowledge findings, and fairly compensate researchers. Misleading tactics, such as claiming "duplicate" for a newly reported and immediately patched vulnerability, erode trust and ultimately harm the security ecosystem.
- Sophisticated Cryptography Doesn't Excuse Basic Flaws: Even innovative security architectures like Shamir Secret Sharing cannot compensate for fundamental implementation flaws. A robust cryptographic design is only as strong as its weakest link, and in this case, the weakness was basic input validation in the USB communication layer.
- "Trusted UI" and "PC Compromised, Wallet Safe" Claims Can Be Misleading: The silent exfiltration of PINs and seed phrases directly contradicts the hardware wallet's promise of a trusted UI and safety against a compromised host. Users should be aware that such claims depend entirely on the underlying software implementation being flawless, which is rarely the case.
About the Speaker(s)
Sergei Volokitin, known by his handle Hexplot, is an independent security researcher with a deep focus on hardware devices and low-level mobile security. He brings extensive experience from his prior work in security labs specializing in hardware devices. In recent years, Sergei has transitioned to working independently, engaging in bug bounty programs and providing consultancy services to various vendors. His expertise lies in uncovering vulnerabilities in embedded systems, often at the lowest levels of their software and hardware interaction. Sergei is a returning presenter at Hexacon, demonstrating his commitment to sharing valuable security research with the community.
Reviews
Dr. Zero (Offensive Security Researcher) — STRONG ACCEPT
Solid, technically grounded hardware security research from someone who clearly did the actual work. Volokitin found a real USB buffer overflow in a device making bold security claims, built a working exploit chain with no mitigations to fight through, and had the vendor's own forensic trail to prove they lied about prior knowledge. The bug bounty drama adds legitimate value as a case study in vendor malpractice. Not a world-shaking contribution to exploitation theory, but exactly the kind of rigorous, honest, proof-is-in-the-PoC research that hardware security needs more of.
Heather Calloway (CISO) — WEAK
Credible embedded security research with a real finding — a USB buffer overflow in a hardware wallet that fully undermines the vendor's core security guarantees — but the talk stays almost entirely inside the technical lane. The bug bounty narrative is genuinely useful as a case study in vendor accountability failure, and that thread deserved more development. What's missing is any serious treatment of the institutional conditions that produce this problem at scale: how hardware wallet vendors get audited, what disclosure norms should exist, what responsibilities fall on exchanges or custodians recommending these products, and what a buyer — individual or institutional — should actually do…