Skip to content

Globally exported receiver could allow deleting messages on user device #834

Description

@Filip785

Checklist

  • I can reproduce the bug with the latest version given here.
  • I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
  • I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

Affected app version

1.9.0, since: SimpleMobileTools/Simple-SMS-Messenger#668

Affected Android/Custom ROM version

Android 16, all

Affected device model

all

How did you install the app?

F-Droid / IzzyOnDroid

Steps to reproduce the bug

Currently, any malicious app / code could send broadcast to the DeleteSmsReceiver with arbitrary THREAD_ID & MESSAGE_ID (or even enumerate them).

Since DeleteSmsReceiver is exported globally in AndroidManifest.xml, if the THREAD_ID & MESSAGE_ID match, messages would be deleted.

Furthermore, while investigating this issue, noticed that DeleteSmsReceiver does not take into account whether the message is MMS or not and it defaults it to false. If use clicks delete on MMS notification, it will potentially delete SMS message if their IDs match

Expected behavior

Receiver is not globally exported and accessible from other apps. Deleting MMS from notification does not potentially delete SMS

Actual behavior

Receiver is globally exported and accessible from other apps. Deleting MMS from notification could lead to potentially deleting SMS if IDs match

Screenshots/Screen recordings

No response

Additional information

Ready to submit the PR if accepted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not workingsecurityIssue is about improving security or fixing a vulnerability

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions