Preface: The com.android[.]providers[.]telephony and com[.]android[.]phone packages are not similar in function; they serve different and distinct purposes in the Android telephony system.
This package (com[.]android[.]providers[.]telephony)
is a content provider that manages and provides access to telephony-related data.
- Database manager: It contains data related to phone operations, including the history and content of SMS and MMS messages, call logs, and the list of Access Point Names (APNs) used for mobile data connections.
- Data access: Other apps must request permission to access this package’s database to read or write call logs, SMS, and other telephony data.
Background: The Telephony provider and its associated classes like com[.]android[.]providers[.]telephony[.]PushMessageProvider
are common in Android smartphones as they are core components of the operating system responsible for managing SMS and MMS messages. com[.]android[.]providers[.]telephony[.]PushShopProvider
and com[.]android[.]providers[.]telephony[.]ServiceNumberProvider
are also standard components for managing push messages and service numbers, respectively.
Vulnerability details:
The vulnerability allows any application installed on the device to read SMS/MMS data and metadata from the system-provided Telephony provider without permission, user interaction, or consent. The user is also not notified that SMS data is being accessed. This could lead to sensitive information disclosure and could effectively break the security provided by SMS-based Multi-Factor Authentication (MFA) checks. The root cause is a combination of missing permissions for write operations in several content providers (com[.]android[.]providers[.]telephony[.]PushMessageProvider, com[.]android[.]providers[.]telephony[.]PushShopProvider, com[.]android[.]providers[.]telephony[.]ServiceNumberProvider), and a blind SQL injection in the update method of those providers.
Ref: The issue stems from two main problems in the content providers:
Missing write permissions in several exported content providers:
com[.]android[.]providers[.]telephony[.]PushMessageProvider
com[.]android[.]providers[.]telephony[.]PushShopProvider
com[.]android[.]providers[.]telephony[.]ServiceNumberProvider
A blind SQL injection vulnerability in the update() method of these providers:
The where clause in SQL queries is passed unsanitized, allowing attackers to inject arbitrary SQL commands.
Official announcement: Please see the link for details –