Android security tags, read closely by Lightrion

CVE-2026-58874 AI-generated analysis

platform/frameworks/opt/telephony (SmsController, IccSmsInterfaceManager) and platform/frameworks/base (telephony/common TelephonyPermissions)

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

Adds the missing subscription-to-user association check to SmsController.sendStoredText and sendStoredMultipartText (frameworks/opt/telephony). When the calling user is not associated with the subscription, the send is rejected with RESULT_USER_NOT_ALLOWED. The fix also makes the destAddr parameter of TelephonyPermissions.checkSubscriptionAssociatedWithUser nullable (frameworks/base) so the new callers can pass a null address.

Root cause

Before the fix, SmsController.sendStoredText and SmsController.sendStoredMultipartText forwarded to IccSmsInterfaceManager.sendStoredText / sendStoredMultipartText for the given subId without calling TelephonyPermissions.checkSubscriptionAssociatedWithUser. sendTextForSubscriber is different: its existing SmsControllerTest cases show it already consults SubscriptionManager.isSubscriptionAssociatedWithUser (per index search). As a result, a caller running as one user could request a stored-message send over a subscription that is not associated with that user. Separately, the 4-argument checkSubscriptionAssociatedWithUser declared destAddr @NonNull and passed it straight to TelephonyManager.isEmergencyNumber, with no handling for callers that cannot resolve a destination address.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2026 · Findings