Hacking the meta ray-ban smartglasses
In July 2023, the author wanted to investigate the pwn2own targets for 2026. Since the rules had not been released, they decided to examine last year's targets, hoping they would be similar. To their surprise, they successfully gained arbitrary code execution on the Meta Ray-Ban smartglasses, but they were not classified in the wearables category. The author reported the vulnerability to Meta, and after some negotiation, they agreed to a new payout.
The author began by acquiring the smartglasses, which were provided by their brother-in-law. They installed the Meta AI app, which controls the glasses, and extracted the firmware using the over-the-air (OTA) update. The OTA update process was analyzed using JADX, and the author found that the update URL contained a zip file. By hooking into the OTAArtifactInfo() function, they could print the CDN update URL.
The zip file contained an Android update, including the payload.bin. The author dumped the payload.bin using payload-dumper and mounted the files into a filesystem. Firmware 126 was discovered, which did not verify the signature of the DAT APK, allowing the author to install a self-signed application. This enabled the author to run any app on the glasses using Frida to swap the legitimate DAT application.
To debug the process, the author used android.media.ToneGenerator to signal the execution of their code. They installed a sample app called Camera Access, which created a DAT session with the glasses. By hooking into the startDwaReadinessProbe() function, the author could monitor the connection and disable the timeout. This allowed them to establish an interactive shell on the glasses via TCP 31337. However, firmware 127 enforced signature verification of the DAT apk, making it impossible to self-sign the application.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.