Skip to finding
§
Medium
Mobile
Confirmed

An Accessibility-approved Android app can establish a shell that survives uninstall.

The victim must install the APK and approve Accessibility; the published analysis identifies no patch.

Affects

Android phones on which a victim sideloads the RatHat dropper and grants Accessibility; the research does not publish a complete tested OS or OEM range.

What it enables

Shell-level persistence outside the app lifecycle, automatic reinstallation, and lock-credential capture from raw input

A victim installs the attacker-controlled APK and grants Accessibility.→↓Accessibility enables Developer Options and Wireless Debugging, then reads the pairing code and dynamic port.→↓An embedded ADB client pairs with the device's localhost adbd and obtains shell UID 2000.→↓The shell stages independent Go and FRP agents under /data/local/tmp.→↓The agent remains after package removal, retains a remote shell path, and reinstalls the APK with permissions and Accessibility re-enabled.→↓Shell access reads raw /dev/input coordinates and maps them to PIN or pattern layouts.
Why this matters

Persistence moves outside the package lifecycle, so removing the app no longer removes its shell foothold.

Detail and 2 sources
Required access

The victim manually installs the RatHat dropper and grants its Accessibility service

Proof of concept

Demonstrated by the researcher

Accessibility turns on Wireless Debugging, reads the pairing data, and pairs an embedded client with localhost adbd as shell UID 2000.

Agents staged under /data/local/tmp remain after package removal and can reinstall the APK with its permissions and Accessibility restored.

The shell can also read raw input coordinates and map them to PIN or pattern layouts.

Evidence
Zimperium's published analysis documents the complete self-pairing and persistence sequence from analyzed samplesThe researchers show the shell agent reading raw input and reconstructing lock credentials
Share this finding
Get it by email

The same brief, every morning. One email a day, nothing else.

Every finding here carries a source that was checked before it published. If something is wrong, write to admin@fullchain.sh — corrections are published on the day they affect.

Sunday, September 20, 2026