Skip to content

StrongBox op-counter leak breaks banking apps on Android 16 / StrongBox devices (upstream TEESimulator-RS) — please pull fix #5

Description

@tastitalia-robertoc

Summary

AlwaysStrong (which bundles TEESimulator-RS) breaks all StrongBox-backed apps on
devices that have a real StrongBox secure element running Android 16.

The root cause is in the bundled TEESimulator-RS, not in the PIF part, so I
filed the detailed report upstream:
➡️ Enginex0/TEESimulator-RS#49

Short description

On a device with a real StrongBox (NXP JavaCard), TEESimulator forwards the
StrongBox createOperation to the HAL, the operation finish completes
successfully on hardware, but the per-UID StrongBox operation counter is never
released
. It accumulates to hw=4 / max=4 and then rejects everything with
StrongBox op limit reached → the app gets KeyStoreException -29 TOO_MANY_OPERATIONS. This happens globally, even for apps NOT in
target.txt, so excluding an app from the GUI does not help.

Result: apps work on first launch (fresh data) and fail on second launch when
they must decrypt their keychain.

Environment

  • AlwaysStrong 1.0.3 (also reproduced with standalone TEESimulator-RS v6.0.1-307 + separate PIF)
  • POCO F8 Ultra (myron) and POCO F8 Pro (annibale) — xiaomi.eu HyperOS 3, Android 16

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions