Live data from Hacker News

Major new iOS bug can crash iPhones and disable access to apps and iMessages

theverge.com

41–50 of 122 posts

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#41
post #39
post #35

What's the Unicode codepoint of the character? Is it a single Unicode codepoint or multiple? (I tried to search for info on the web, but Chrome kept crashing.) Supposedly it's a normal Telugu character, but how could that have gotten past even minimal testing in Hyderabad? Or is it some strange combining corner case? Telugu script is kind of unusual in Unicode, since it is syllabic but has separate codepoints for vow…

Multiple codepoints. U+0C1C U+0C4D U+0C1E U+200C U+0C3E

So: "JA" "VIRAMA" "NYA" "ZERO-WIDTH NON-JOINER" "VOWEL AA"

That looks like a non-trivial character. I wonder how many other crashing characters can be generated from this pattern.

JA is a consonant, VIRAMA indicates a lack of vowel, NYA is another consonant, and it's non-joined(?) with the vowel AA. Can a Telugu speaker explain what that's supposed to do?

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#42
post #36

Earlier quoted context omitted.

Not crashing mine, using OSX 10.13.3, Safari 11.0.3

Try copy and pasting the character in your address bar.

Ohhh nice. Yep, definitely crashed Safari on OSX 10.13.3 when the character is in the address bar. Firefox seems fine and is my daily driver, fortunately

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#43

This isn't the first time a weird sequence of Unicode characters has caused the text renderer to crash and create problems for iOS users. This is why we shouldn't be writing new code in C.

>This is why we shouldn't be writing new code in C.

Depends on your priorities. I'd take occasional bugs over jitter, latency, CPU inefficiency, and excess memory usage. And all that in practical terms means C is very environmentally friendly.

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#44

Here's a link to the character if someone wants to test it themselves https://pastebin.com/9Tr8ytTr

That’s weird using safari on iOS 11.2.5 it didn’t crash the first time but now can’t open the pastbin link !

Edit: it’s random (it show in the 3D Touch to preview) https://imgur.com/a/xb5XV

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#45

Here's a link to the character if someone wants to test it themselves https://pastebin.com/9Tr8ytTr

Doesn't crash iOS 10.3 (although it doesn't seem to render correctly either) https://imgur.com/cglhVS5 Would be really nice if Apple would stop treating its beta software as a final release.

Do you mind trying to open the link again ?

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#46

Here's a link to the character if someone wants to test it themselves https://pastebin.com/9Tr8ytTr

I sent this link to my phone and the character is in the meta-title, which then crashed my phone. It works!

Now how to fix it...

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#47
post #30

Wow its just unicode character in a language spoken by just 75Million people https://en.wikipedia.org/wiki/Telugu_language

Is it a common character? e.g is this more like “the word ‘hello’ crashes safari” or “the word ‘syzygy’ crashes safari”?

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#48
post #41
post #39

Earlier quoted context omitted.

Multiple codepoints. U+0C1C U+0C4D U+0C1E U+200C U+0C3E

So: "JA" "VIRAMA" "NYA" "ZERO-WIDTH NON-JOINER" "VOWEL AA" That looks like a non-trivial character. I wonder how many other crashing characters can be generated from this pattern. JA is a consonant, VIRAMA indicates a lack of vowel, NYA is another consonant, and it's non-joined(?) with the vowel AA. Can a Telugu speaker explain what that's supposed to do?

Approximately a couple thousand.

It happens for Telugu, Devanagari, and Bengali, for pretty much any (C,C,V) choice in Telugu, for any (C,C,V) choice in Devanagari where the second consonant is 'ra', and any such choice in Telugu where the second consonant is 'ra' or 'ya'. Some vowels don't work.

usually forms a ligature in most indic scripts. usually, that ligature is formed by munging the first consonant and tacking it on to the second.

However, in Telugu, it works the other way around -- the first consonant stays the same, but the second consonant is munged and placed below it. As a result, many forms render as a sort of "composite combining character", with a placeholder for where the first consonant goes, and the second consonant below it.

In Devanagari, the 'ra' consonant also does this, and 'ra' and 'ya' in Telugu.

This also happens for all Kannada consonants, but I can't trigger the bug with Kannada.

ZWNJ isn't really specified for Devanagari or Telugu; it can both make the vowel render separately or do nothing. In Bengali for some vowels it changes their form; however this bug occurs for more than just those vowels.

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#49
post #21

Earlier quoted context omitted.

More like "this is why we should use LLVM's libFuzzer or similar". Apple is just not doing basic code hygiene stuff here.

Fuzzing finds bugs, using a safe language precludes them.

What constitutes a safe language? Is Rust safe?

Re: Major new iOS bug can crash iPhones and disable access to apps and iMessages

#50
post #25

This isn't the first time a weird sequence of Unicode characters has caused the text renderer to crash and create problems for iOS users. This is why we shouldn't be writing new code in C.

I checked the character, it is anything but weird. It is a valid character in a language used by millions of people. For those curious: It is a Telugu character; Telugu is one of several widely spoken languages in India.

The ZWNJ is definitely weird -- ZWNJ on Telugu isn't really useful.

However the crash also occurs with a Bengali sequence, and ZWNJ does have an effect in Bengali, so that sequence is not "weird", if perhaps rare.

Post reply on HN