Android security tags, read closely by Lightrion

CVE-2025-32347 AI-generated analysis

platform/packages/apps/Settings, biometrics enrollment (BiometricEnrollIntroduction, shared by the face and fingerprint enroll introduction screens)

AI-generated: written from the bulletin and the fixing diffs by claude-fable-5-1, then checked against the code by claude-opus-5-5 (7 corrections). Verify against the commit before relying on it.

BiometricEnrollIntroduction now strips the MultiBiometricEnrollHelper extras (EXTRA_SKIP_PENDING_ENROLL, EXTRA_ENROLL_AFTER_FACE, EXTRA_ENROLL_AFTER_FINGERPRINT) from its launch intent in onStart() whenever the calling package is not Settings itself, so PendingIntent extras supplied by external packages are dropped during enrollment.

Root cause

Before the fix, BiometricEnrollIntroduction did not check who launched it before keeping the MultiBiometricEnrollHelper extras in its launch intent. These are EXTRA_ENROLL_AFTER_FACE and EXTRA_ENROLL_AFTER_FINGERPRINT, which the tests populate with PendingIntents, and EXTRA_SKIP_PENDING_ENROLL. These extras were removed only in specific flows (removeEnrollNextBiometric / removeEnrollNextBiometricIfSkipEnroll), so a package other than Settings could launch the introduction activity with them still in the intent. The helper methods removeEnrollNextBiometricIfSkipEnroll and handleBiometricResultSkipOrFinished were also protected. The material does not show how the extras are used afterwards.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2025 · Findings