Last week, a new bug plaguing Apple devices surfaced which caused apps to crash while trying to render specific Telugu characters. Following the initial report, certain pranksters started sending people “Text Bombs” over social media containing the Telugu character, leading to a vicious cycle of app crashes and reboots.
Apple has since acknowledged the issue and has promised that it will release a fix before the release of iOS 11.3 ‘this spring’. Current beta versions of iOS, macOS, watchOS, and tvOS already include a fix, so it shouldn’t be long before Apple rolls it out to the stable versions. However, the company has still not explained what causes the issue.
Manish Goregaokar, a research engineer at Mozilla, has conducted a detailed analysis of the bug and the probable cause. According to Goregaokar’s blog post on the matter, analysis of the Telugu character revealed that the bug “seemed to occur for any pair of Telugu consonants with a vowel, as long as the vowel is not ై (ai).” The underlying sequence of the character in question- consonant1, virama, consonant2, zero-width non-joiner (ZWNJ), vowel- can be replicated in many Indic scripts, including Devanagari, Bengali, and Telugu. This means that there are potentially many more characters that could recreate the bug.
— Fake "Unicode." ↙ (@FakeUnicode) February 13, 2018
While Apple is scrambling to fix the issue, a number of people have found creative ways to exploit the bug. Other than bombing iPhone users with the Telugu character, users are adding it to their Uber handle to make the app crash every time a driver with an iPhone tried to pick them up.
Another user posted a video on Twitter showcasing how the bug crashes people’s Mac networking app if the Telugu symbol is used to name a WiFi network. Right now, the bug is more of a nuisance to people than an actual threat, but considering the fact there are many more characters that can trigger the bug, the issue can spiral out of hand in no time.
As a redditor points out, Apple needs to program is software to handle such an issue “more gracefully- so rather than completely crashing the entire system, maybe it just renders one of those question mark boxes, or similar”, referring to the symbol that Windows uses in cases where it can’t render a particular character.