There is a certain text that, if appears on a text message and that message is touched by the user, causes the phone to freeze. The text is formed by many alternating right to left and left to right unicode marks and some spaces. If the message is not touched, the phone works as usual. I have tested this on Telegram and WhatsApp. I have not tested this with an iOS device. It has no effect on my computer.

Why does this text freezes the phone, but only when touched?

Is there any way to prevent this as a user?

NOTE: I have purposely omitted the exact message to avoid directly or indirectly cause trouble to mobile users.

  • It is hard to tell exactly without knowing the message, but the answer probably is: unicode is hard to do. There are so many characters in different alphabets, there are modifier symbols etc. That makes it common for bugs to appear in the implementation. As for why it freezes only when touched, it may have to do something with animations or changing color of the text or something like that. – Peter Harmann May 4 '18 at 8:45
  • Further to @PeterHarmann comment, when you touch a text, a lot happends. Analysis of the text, showing that copy/past option, setting the cursor at the begining of the sentence. All of this could be hard to compute if there is a lot of left to right or "exotic" characters – Guillaume Beauvois May 4 '18 at 8:49
  • I'm not sure how this is an information security question – schroeder May 4 '18 at 9:02
  • The message is exactly as described, it only contains white spaces and RTL/LTR unicode marks. I can post it if it really matters. – Hawkings May 4 '18 at 9:06

How the message works

This video explains it best:


Brief explanation

There are a lot of special characters in the message. They can be displayed without any problem, but when the phone tries to work out how to show the selection popup the calculation crashes, causing WhatsApp to crash.

At a guess, the 0 width characters create a massive amount of options for what you could be selecting, leading to a massive amount of checks, which take too long, crashing the app.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.