Android security tags, read closely by Lightrion

CVE-2024-40654 AI-generated analysis

platform/packages/apps/Settings, search (SearchResultTrampoline / SearchFeatureProviderImpl)

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 (6 corrections). Verify against the commit before relying on it.

SearchResultTrampoline now identifies its launcher with getLaunchedFromPackage() instead of getCallingActivity(), and SearchFeatureProvider.verifyLaunchSearchResultPageCaller now takes the launching package name instead of the result-receiving ComponentName.

Root cause

SearchResultTrampoline.onCreate took the identity of whoever launched the trampoline from getCallingActivity(). It passed that value to SearchFeatureProviderImpl.verifyLaunchSearchResultPageCaller, which allowed the launch if the package was Settings, the SettingsIntelligence package, or signature-allowlisted. The same ComponentName also drove the isSettingsIntelligence() branch, which selects how the result page is launched (including DeepLinkHomepageActivityInternal). The commit message says getCallingActivity() reports who will get the Activity result, not who launched the activity or built the PendingIntent used to launch it. The privilege check was therefore keyed on a value that does not identify the launching package.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2024 · Findings