Log date · Mon
Frida 17.15.5: code-patching and newer-iOS compatibility fixes
Frida 17.15.5 fixed Android and Darwin issues and hardened code patching, showing that dynamic analysis tools keep pace with platform changes.
What happened on this date
On 2026-07-13 (11:47 UTC), Frida published 17.15.5 on GitHub, and the project site posted a same-day news item describing it as a quick bug-fix release. Per the post: on Android, transient misses while patching the USAP are tolerated when the target process does not have the boot image mapped; on Darwin, CodeSegment is re-enabled on newer kernels, and the vm_remap overwrite approach works again on iOS 17.6 and later; in Gum.Memory, a suspend deadlock in patch_code was fixed by preparing patches in a scratch buffer first, and patch_code was made safer under concurrency and failure, making all target pages writable before changes, copying back only modified bytes, and restoring read-execute before flushing the instruction cache.
What it means for the threat model
Frida is a widely used dynamic instrumentation tool in security testing, used by a team's own testers and by outside analysts alike. This release shows a pattern: when OS updates break a mechanism, the tool adapts in later versions, and the reliability of code patching keeps improving. For developers, the implication is that client behavior at runtime should be treated as observable and modifiable, especially on devices the user controls, and that detections tied to a particular tool's behavior tend to break as the tool updates, which makes them expensive to maintain. This does not make client-side defenses worthless; they raise cost and produce risk signals. But they should not be the sole basis for authorization, billing or anti-abuse decisions.
Checks to run on your own app
First, state explicitly in your threat model that runtime instrumentation is possible, and use that to identify which decisions are made only on the client. Second, validate entitlement, billing and key business rules on the server, treating client results as inputs. Third, use platform attestation such as App Attest or Play Integrity as a risk signal rather than proof, with sensible server-side fallback handling. Fourth, when running authorized dynamic tests on your own app, record the tool and OS versions used, and retest after platform or tool updates. Fifth, watch tool release notes for platform-version changes and adjust your test matrix accordingly, rather than stacking client-side detections aimed at a single tool.
Your checklist
- State in the threat model that runtime instrumentation is possible
- Validate entitlement and billing on the server
- Treat platform attestation as a risk signal with fallbacks
- Record tool and OS versions in tests and retest after updates
Primary sources
- GitHub: frida/frida release 17.15.5 · Source date 2026-07-13 · Checked 2026-10-12
- Frida: Frida 17.15.5 Released · Source date 2026-07-13 · Checked 2026-10-12