-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Description
I have:
- searched open and closed issues for duplicates
- read https://github.com/WhisperSystems/Signal-Android/wiki/Submitting-useful-bug-reports
Bug description
Sending huge messages (the limit might somewhere around 2096632 bytes) effectively renders the Android app of the receiver unusable (the app will crash immediately after launching). This could be potentially abused for a "DOS" attack. I assume for a normal user the only way to recover from that would be to delete all the app data (or reinstall the app). That would result in loosing the complete chat log (without a backup) and having to generate a new key. Either way abusing this will cause unnecessary trouble for the receiver.
Steps to reproduce
Disclaimer: Don't try this with your "real" app (or at least not without a
backup) as this will probably permanently disable (i.e. crash) your app! There
might be better ways to reproduce this.
- http://www.loremipsum.de/
- Generate 1000000 words
- Paste the output inside the "Signal Desktop" extension
- Wait a few minutes (takes some time to sync)
- The Android app of the receiver (and your own app!) will crash
- You won't be able to use the app anymore, since it will instantly crash as
soon as you try to launch it!
GIF:
Device info:
Device: Moto G (falcon)
Android version: 6.0.1 (CM 13.0)
Signal version: 3.25.4 (when I triggered the bug - storage was full)
I just updated to version 3.27.1 (latest version currently at GPlay) and the app still crashes.
Logcat output:
The cause seems to be related to the following line:
01-26 11:17:20.112 22643 22674 W CursorWindow: Window is full: requested allocation 8022473 bytes, free space 2096632 bytes, window size 2097152 bytes