Thursday, February 15, 2018

Another iOS Crash Caused By Sending Unicode Character

Tom Warren (Hacker News, MacRumors):

A new bug has been discovered in iOS 11 that lets people send a specific character that will crash an iPhone and block access to the Messages app in iOS and popular apps like WhatsApp, Facebook Messenger, Outlook for iOS, and Gmail. Italian Blog Mobile World spotted the bug, and we’ve tested it successfully on multiple iPhones running iOS 11.2.5, and found it also works on the macOS versions of Safari and Messages. Apple plans to fix the problem in an iOS update before the release of iOS 11.3 this spring.

The bug itself involves sending an Indian language (Telugu) character to devices, and Apple’s iOS Springboard will crash once the message has been received.

I wonder if this is why Tweetbot was crashing on my Mac the other day.

Previously: Using Siri to Work Around iMessage Crash.

Update (2018-02-15): Ashley Bischoff:

At this rate, I’m kinda astounded that Apple still hasn’t yet run a fuzzer against Messages.

You’d think that someone at Apple would have brought up fuzzing after the first or second time that this sort of thing happened with Messages. But I guess not.

Update (2018-02-16): Rosyna Keller:

Likely because it’s not an issue in Messages or with the Unicode string itself. It’s a bug in the text renderer (which doesn’t necessarily lend itself to fuzzing).

Since some apps are unaffected, it means it also depends on layout options/factors.

Manish Goregaokar:

The original sequence is U+0C1C U+0C4D U+0C1E U+200C U+0C3E, which is a sequence of Telugu characters: the consonant ja (జ), a virama ( ్ ), the consonant nya (ఞ), a zero-width non-joiner, and the vowel aa ( ా).

[…]

And then I saw that there was a sequence in Bengali that also crashed.

[…]

So, ultimately, the full set of cases that cause the crash are:

Any sequence <consonant1, virama, consonant2, ZWNJ, vowel> in Devanagari, Bengali, and Telugu, where:

  • consonant2 is suffix-joining – i.e. र, র, য, and all Telugu consonants
  • vowel is not  ై or  ৌ

Paul Haddad:

Hey past me, good job on adding support for remotely filtering crashing unicode sequences.

Update (2018-02-20): Juli Clover:

Apple released iOS 11.2.6 to address a bug that causes apps like Messages to crash on the iPhone and iPad due to an inability to render a specific character in the Indian language Telugu.

There’s also a supplemental update for macOS 10.13.3.

6 Comments RSS · Twitter

The latest version of Tweetbot keeps crashing for me on startup on MacOS, but not on iOS. Have you found a reason/workaround?

"At this rate, I’m kinda astounded that Apple still hasn’t yet run a fuzzer against Messages."

Animating poo is so much more funny than doing QA.

@Johan As far as I can tell, the reason my Tweetbot stopped crashing is that the user who posted the tweet with the problematic character sequence deleted his tweet. If you can find the bad tweet with Twitter’s Web site, maybe you could mute/unfollow temporarily?

[…] Previously: Another iOS Crash Caused By Sending Unicode Character. […]

[…] Previously: Another iOS Crash Caused By Sending Unicode Character. […]

[…] Another iOS Crash Caused By Sending Unicode Character […]

Leave a Comment