ControlVault: The Hidden Secure SoC

▶ Watch (1:49)

ControlVault 3 is a Broadcom 58202 chip found in over 100 models of Dell Latitude and Precision laptops. It runs a real-time OS and stores secrets in encrypted flash. The chip connects fingerprint readers, NFC readers, and smart card readers. There is no public documentation. Laulheret reverse-engineered the host API using debug symbols from the Linux driver. The attack surface includes 150 plus CV commands accessible from any Windows userland process.

Talking to the Device: 20 Lines of Python

▶ Watch (7:07)

The USB driver creates a file device that any user can open with IOCTL calls. Laulheret wrote a 20-line Python script using ctypes to load the API DLL and call CV commands directly. With that script he could send arbitrary commands to the firmware. The firmware parses those commands through a manager called the CV Manager. No authentication is required for the initial session. The session handle is simply a heap pointer leaked back to the caller.

Breaking the Firmware: Decryption and Heap Tricks

▶ Watch (24:14)

The application firmware is encrypted. Laulheret reversed the SBI (secure boot image) to find decryption routines. Default hardcoded keys and a custom IV generation function allowed him to decrypt the full firmware. Inside, he found a heap implementation with no ASLR and no stack cookies. By overlapping two heap objects he achieved an arbitrary free. He then used a stack overflow in the secure bio identify function to execute code on the chip. His exploit called SOTP read key to leak an HMAC key and an AES key from the fuses.

Firmware Modification: Persistent Implant and Fingerprint Bypass

▶ Watch (27:42)

With the leaked keys, Laulheret forged a custom secure code descriptor (SCD) containing his own key material. He flashed it using the CV flash update command, which any user can call. After fixing an endianness mistake, the firmware booted with a persistent modification. The device identified itself as “control pond”. He then patched the fingerprint identify function to always return success. A plastic finger with a piece of green onion (for organic detection) unlocked the Windows Hello login screen.

From Firmware to System Shell: Escalating to SYSTEM

▶ Watch (35:43)

The host-side deserialization logic trusts the firmware to specify data sizes. Laulheret backdoored CV get random to return a malicious payload when a magic size is requested. He found a vulnerable function in the biometric service DLL (used by Windows Hello) that lacks stack cookies. By triggering the deserialization bug from the patched firmware, he overwrote the return address. The result: a SYSTEM reverse shell was popped from a userland request.

Q&A

How did you handle the endianness issue in the SCD? The firmware expects big-endian, but the default key material is little-endian. Laulheret swapped bytes after his first bricked device and backed up the flash with a programmer. ▶ 28:34

Can the physical attack work on any computer? Yes. The ControlVault board uses a ribbon cable with USB lines. An attacker can unplug it from the motherboard and connect it to their own machine. The host will enumerate a new Dell control device. ▶ 38:29

Notable Quotes

“with 20 lines of Python you can talk with these devices in your laptop that does some crazy stuff so easy.” Philippe Laulheret · ▶ 08:47

“the film firmware is executed in place in the flash chip and it is encrypted” Philippe Laulheret · ▶ 11:49

“we leaked an HMAC key and an AES key” Philippe Laulheret · ▶ 24:42

“you unlock the device. Thank you.” Philippe Laulheret · ▶ 31:13

“suddenly we get a system shell.” Philippe Laulheret · ▶ 37:50

Key Takeaways

  • ControlVault exposes 150+ CV commands to unprivileged users with no authentication.
  • Default hardcoded keys and no stack cookies enable firmware decryption and exploitation.
  • A single heap arbitrary free leads to persistent firmware implants and SYSTEM shell.

About the Speaker(s)

Philippe Laulheret is a Senior Vulnerability Researcher at Cisco Talos. With a focus on Reverse Engineering and Vulnerability Research, Philippe uses his background in Embedded Security and Software Engineering to poke at complex systems and get them to behave in interesting ways. Philippe presented multiple projects covering hardware hacking, reverse engineering and exploitation at DEF CON, Hardwear.io, Eko Party and more. In his spare time, Philippe enjoys playing CTFs, immersing himself in the beauty of the Pacific Northwest, and exploring the realm of Creative Coding. Philippe holds a MSc in Computer Science from Georgia Tech and a MSc in Electrical and Computer Engineering from Supélec (France).