Security1 publisher2 min readPublished
Flock's ALPR firmware hard-codes an API key that anyone can pull from a public image
DDoSecrets published filesystem images taken from a working Flock ALPR camera. The Android build inside them carries a hard-coded API key and a security patch level seven years older than the build itself.
The Watch · Security desk

What happened
- DDoSecrets published filesystem images of the partitions from an in-use Flock ALPR camera, collected by a collective calling itself stegan0gram, and 404 Media and Wired ran a joint investigation into the data.
- Its kernel is Linux 3.18.71, first released in 2017 and 69 releases behind 3.18.140, the last release before that series was retired in May 2019.
- Micah Lee found a hard-coded credential returned by a getHpnotiqApiKey() method inside the library that 19 of the 20 Flock apps on the image share.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- capability A public 1.5 GB download and a decompiler are enough to hold the same credential the camera holds, with no camera, no exploit and no network access to Flock.
- cost Retiring that credential is a fleet operation for Flock: the value lives in shipped firmware, so every deployed camera needs new app builds before the old key can be cut off.
- constraint The two root paths rest on the patch level predating both fixes, so nobody has yet shown that a camera on a pole falls to the public WrongZone code.
The extraction path is three steps. Pull `partitions/24_system.img` out of the dataset, decompile `com.flocksafety.android.common.lib`, and read the string returned by `getHpnotiqApiKey()` in the `CameraSettings` class [10][11][12]. Micah Lee, who published the finding, describes what that string reaches as Flock's live production infrastructure, and puts a warning ahead of the details: "It's illegal to connect to Flock's servers using leaked credentials without their permission," he wrote [13][14].
The image exists because people took cameras out of the field. "We liberated hardware in the field, disarmed them, and proceeded with reverse engineering of the cameras and associated solar equipment," one of the hackers told 404 Media and Wired [4].
Both of the flaws Lee flags need code already running on the camera, and physical possession supplies that [26]. CVE-2018-9568, WrongZone, is a socket type confusion in the kernel's IPv6 handling that lifts a local program to root; Google patched it in December 2018, and exploit code is public [16]. CVE-2021-1905 is a use-after-free in the Qualcomm Adreno GPU driver, reachable from an unprivileged app, and it yields full control of the device; that fix landed in May 2021 [15]. Lee has the firmware and not a camera, so he did not confirm either one works [17].
Seven years separate the build date in `build.prop` from the security patch level it reports, to the day [20]. Android 8.1 came out in 2017, and Google stopped supporting it in 2021 [7]. That leaves roughly three years of 8.1 fixes that existed and were never applied, then four more years in which no fixes were written for the platform at all [21]. The kernel in the boot partition was compiled on the same June day in 2025 as the Android build [25].
A Flock spokesperson told 404 Media and Wired: "We received no report through that process, and based on the limited information provided, we do not have enough detail to assess the claims being made. If the individuals identified legitimate vulnerabilities, we encourage them to submit their technical findings through our vulnerability reporting process so our security team can review them and take any appropriate action." [18] Lee's post names the partition files, quotes the three property lines, and gives the command that prints the kernel version [24].
The dataset settles one unit at one moment. The camera whose firmware was extracted was on that build at that patch level on June 5, 2025; whether the rest of the deployed fleet is on the same Android 8.1 build is not in these images [6][1].
What to watch
- Whether Flock rotates the hpnotiq key, which would require pushing new app builds to deployed cameras.
- Whether anyone demonstrates CVE-2018-9568 or CVE-2021-1905 against a live Flock camera rather than a firmware image.
- Whether Flock or its agency customers state which Android build and patch level the rest of the fleet runs.