zlacker

'Text bomb' is latest Apple bug

submitted by Harvey+(OP) on 2018-01-18 15:02:48 | 194 points 105 comments
[view article] [source] [links] [go to bottom]
replies(18): >>jdlyga+o6 >>NedIsa+v6 >>platz+l8 >>devit+G8 >>Surrea+W8 >>menaci+q9 >>herodo+zf >>mixmas+Bf >>hotpxl+Pf >>Orange+bh >>jakobe+Eh >>alwill+7p >>rspeer+fy >>matt-a+cK >>w0rd-d+821 >>sigjui+Hb1 >>omarfo+3j1 >>LocalH+KQ4
1. jdlyga+o6[view] [source] 2018-01-18 15:45:36
>>Harvey+(OP)
Sounds like AOL punters. Fate X anyone?
replies(1): >>srphm+yf
2. NedIsa+v6[view] [source] 2018-01-18 15:46:12
>>Harvey+(OP)
Anyone have the clode?
replies(3): >>stevea+Y8 >>Kikawa+4a >>68c12c+qj
3. platz+l8[view] [source] 2018-01-18 15:58:18
>>Harvey+(OP)
Apple products don't have malware
4. devit+G8[view] [source] 2018-01-18 16:00:43
>>Harvey+(OP)
Based on a web search, https://bogdanz.me/work/diddu.html might be a working mirror of the proof of concept.

It appears to contain a 10MB long UTF-8 mess in both the og:title meta content and in a mailto: link.

I'd guess it's supposed to crash iOS apps by either posting that link if it displays links in a thumbnail element using og:title or otherwise by pasting the huge mailto link contained in the webpage, or perhaps only the e-mail address.

replies(5): >>netsha+89 >>lawles+Hd >>hamand+ph >>Someon+6i >>a_t48+mQ
5. Surrea+W8[view] [source] 2018-01-18 16:02:22
>>Harvey+(OP)
There was an issue a few years ago where you could send a UTF-8 code to crash whatever app was currently open on an iPhone. I guess this might be the same issue but slightly different?
◧◩
6. stevea+Y8[view] [source] [discussion] 2018-01-18 16:02:48
>>NedIsa+v6
Here's an archived version: http://web.archive.org/web/20180117063656/https://iabem97.gi...
◧◩
7. netsha+89[view] [source] [discussion] 2018-01-18 16:03:55
>>devit+G8
Hah. View-Source takes forever to load (in Vivaldi). Wget says it's a 20 MB file. Opening it in Joe in Cygwin kills the Cygwin process. Neat.

Also the href attribute inside the <link rel="apple-touch-icon"> points to a HTML URL, but that returns a 404...

8. menaci+q9[view] [source] 2018-01-18 16:05:59
>>Harvey+(OP)
The linked blog assures people that this can't be used to access data. Once something is crashing an app/OS, can you really say that? I mean, can you be sure there's no one clever enough to capitalize on the underlying software error leading to this state?
replies(2): >>anyfoo+kc >>112358+2f
◧◩
9. Kikawa+4a[view] [source] [discussion] 2018-01-18 16:09:56
>>NedIsa+v6
https://mega.nz/#!X4piUYwA!zXH1vCliaO00V2v2554vegCnXzQ69jdAX...

11.7MB HTML file. It crashes the tab in Chrome 65.0.3324.2 64-bit and locks up Firefox 58.0 64-bit on Windows for me.

replies(1): >>Y_Y+zb
◧◩◪
10. Y_Y+zb[view] [source] [discussion] 2018-01-18 16:19:17
>>Kikawa+4a
Works on my ff 58.0b16 win10 64bit
replies(1): >>Kikawa+6d
◧◩
11. anyfoo+kc[view] [source] [discussion] 2018-01-18 16:23:21
>>menaci+q9
Don’t know any details about this one, but some bugs are just not exploitable beyond denial of service. If all you can do is provoke an action that makes the OS kill the process immediately, for example. Like a null pointer dereference under the right circumstances.
replies(1): >>menaci+Ff
◧◩◪◨
12. Kikawa+6d[view] [source] [discussion] 2018-01-18 16:27:43
>>Y_Y+zb
I tried to repeat the test in FF and you're right, it does not lock it up, but once I click in the black area of the page, it becomes unresponsive.
◧◩
13. lawles+Hd[view] [source] [discussion] 2018-01-18 16:31:17
>>devit+G8
Could someone just use some sort of fuzzing software to generate these?

Just keep trying many until one hits.

replies(1): >>UncleM+Se
◧◩◪
14. UncleM+Se[view] [source] [discussion] 2018-01-18 16:38:00
>>lawles+Hd
You can, but the number of possible inputs is huge and fuzzing won't prove that no such input exists.
◧◩
15. 112358+2f[view] [source] [discussion] 2018-01-18 16:38:58
>>menaci+q9
That would be a general issue with app crashing, and a huge deal worth it’s own series of articles. iOS’ sandboxing makes it so unlikely this exists, it’s not worth mentioning and the sensational writing might be counterproductive to getting the actual issue fixed. To use an analogy, it’d be like mentioning that someone could hack Google in an article about Gmail downtime.
replies(3): >>menaci+Uf >>saurik+ju >>lern_t+so1
◧◩
16. srphm+yf[view] [source] [discussion] 2018-01-18 16:42:43
>>jdlyga+o6
Right? I remember spamming people with h1 tags, then seeing them go offline. Welp, was fun for 5 minutes.
replies(1): >>rmrfrm+hi
17. herodo+zf[view] [source] 2018-01-18 16:42:46
>>Harvey+(OP)
So shipping software has an obscure bug that can cause a crash. Why is this news?
replies(2): >>lisper+4g >>Bitcoi+My
18. mixmas+Bf[view] [source] 2018-01-18 16:43:01
>>Harvey+(OP)
Their lock screen crashing bug from iOS 11 that was fixed with 11.1 came back with 11.2 and I want to throw the thing out the window. Every time I hit the power button it crashes and have to type out the pin.
replies(1): >>menaci+Ii
◧◩◪
19. menaci+Ff[view] [source] [discussion] 2018-01-18 16:43:42
>>anyfoo+kc
That's kind of what I was thinking, but it sounds like you or I know about as much about the cause of the bug as the person offering assurances.
20. hotpxl+Pf[view] [source] 2018-01-18 16:45:26
>>Harvey+(OP)
- Mr Masri said he "always reports bugs" before releasing them.

Well I don't think Apple really reads bug reports.

replies(3): >>FPGAha+Fg >>osteel+jm >>herodo+ku
◧◩◪
21. menaci+Uf[view] [source] [discussion] 2018-01-18 16:45:56
>>112358+2f
I see your point, but I actually think users should be _more_ alarmed when an input makes software crash, for just this reason. They tend to think of it as a harmless annoyance.

Also, while sandboxing may be designed to prevent this, Messages is probably also designed not to crash on link sharing.

replies(1): >>qubex+dC
◧◩
22. lisper+4g[view] [source] [discussion] 2018-01-18 16:46:40
>>herodo+zf
Because Apple once prided itself as a company that made computers that "just worked".
replies(2): >>lostlo+Yg >>icodem+YF
◧◩
23. FPGAha+Fg[view] [source] [discussion] 2018-01-18 16:50:40
>>hotpxl+Pf
They do if you file them at radar.apple.com. I've had back and forths with them on some video card performance issues after sleep after filing a report there.
replies(2): >>Someon+9h >>hotpxl+Aj
◧◩◪
24. lostlo+Yg[view] [source] [discussion] 2018-01-18 16:52:38
>>lisper+4g
I like how you wrote all that in the past tense.
replies(1): >>lisper+Dh
◧◩◪
25. Someon+9h[view] [source] [discussion] 2018-01-18 16:53:45
>>FPGAha+Fg
What is that site? I have a working Apple ID and it won't even let me sign in.
replies(2): >>haikug+wh >>teej+Bh
26. Orange+bh[view] [source] 2018-01-18 16:53:57
>>Harvey+(OP)
Come to think of it, I believe I've heard of multiple "making the device render this text causes a crash" bugs for Apple devices, but never on any other platforms. Is this type of bug just that much more common on Apple devices, or are there plenty of other cases out there that I just don't know about?
replies(7): >>Kikawa+4k >>dspill+3n >>sebazz+Cp >>roywig+7u >>ryanlo+Qx >>on_and+ZA >>dave_s+sR
◧◩
27. hamand+ph[view] [source] [discussion] 2018-01-18 16:55:26
>>devit+G8
Can confirm, just crashed my friends iPhone X. Required a hard reboot, was locked up completely.
◧◩◪◨
28. haikug+wh[view] [source] [discussion] 2018-01-18 16:56:06
>>Someon+9h
You have to have a (free) developer account.
◧◩◪◨
29. teej+Bh[view] [source] [discussion] 2018-01-18 16:56:32
>>Someon+9h
Radar is Apple’s internal bug tracking system. Outsiders have limited access to it. I believe bugreport.apple.com is the path for submitting bugs as an external developer.
replies(1): >>madeof+IL
◧◩◪◨
30. lisper+Dh[view] [source] [discussion] 2018-01-18 16:56:54
>>lostlo+Yg
If the shoe fits... :-(
31. jakobe+Eh[view] [source] 2018-01-18 16:56:59
>>Harvey+(OP)
So a crashing bug in the text rendering framework is now worth an article in major publications?

I stumbled over two or three of them in the last couple of years while debugging crash reports sent in by customers.

Seems that text rendering is hard. Maybe fuzzing CoreText would be a worthwhile target to discover vulnerabilities?

replies(3): >>Someon+ui >>Bitcoi+Ey >>zackif+fB
◧◩
32. Someon+6i[view] [source] [discussion] 2018-01-18 16:59:28
>>devit+G8
That site caused Firefox 57 (64bit) to lock up on Windows 10...

It is an i7, 16 GB total (7 GB free), and an SSD.

replies(3): >>aluhut+fp >>testpl+HE >>yorby+FT
◧◩◪
33. rmrfrm+hi[view] [source] [discussion] 2018-01-18 17:01:15
>>srphm+yf
AOL sent my dad an e-mail :(
◧◩
34. Someon+ui[view] [source] [discussion] 2018-01-18 17:02:21
>>jakobe+Eh
Or take text rendering out of the kernel.

The whole device shouldn't restart due to malformed text, that's just sloppy. If Microsoft can do it with Windows then Apple can do it on iOS.

replies(1): >>valley+sS
◧◩
35. menaci+Ii[view] [source] [discussion] 2018-01-18 17:03:46
>>mixmas+Bf
I still have the issue where if I access the camera from the lock screen it randomly renders my phone unlockable
◧◩
36. 68c12c+qj[view] [source] [discussion] 2018-01-18 17:06:56
>>NedIsa+v6
a mirror of the page could be found here...

  view-source:https://web.archive.org/web/20180117063656/https://iabem97.github.io/chaiOS/
google chrome browser seems to have disabled the display of the content but other browsers may still be fine with it...
replies(1): >>68c12c+Vo
◧◩◪
37. hotpxl+Aj[view] [source] [discussion] 2018-01-18 17:08:11
>>FPGAha+Fg
I'll try resubmit my bug here and see how it goes. thanks!
◧◩
38. Kikawa+4k[view] [source] [discussion] 2018-01-18 17:10:13
>>Orange+bh
Not just simple text, it's UTF-8. Rendering these UTF-8 "text bombs" seems to DoS several applications. This particular one crashes the messages app in iOS, crashes the tab in Chrome, and locks up FireFox. It also crashes several text editors which support UTF-8. Opens quickly in notepad, but takes several minutes in wordpad and it very laggy when scrolling.
replies(1): >>kevin_+jM
◧◩
39. osteel+jm[view] [source] [discussion] 2018-01-18 17:20:09
>>hotpxl+Pf
https://support.apple.com/en-us/HT201220 has a section for “Security and privacy researchers”. The process is to send mail to product-security@apple.com, optionally encrypted by Apple Product Security's PGP key. A developer account is not required.

Since this page is the top search engine hit for several obvious searches (for example “report apple security vulnerability”), hopefully Mr Masri reported it there.

◧◩
40. dspill+3n[view] [source] [discussion] 2018-01-18 17:22:52
>>Orange+bh
> but never on any other platforms

There have been numerous crash-bugs for the Windows font renderer, and even security exploits using it (especially before windows 10, as earlier than that font rendering was performed in the kernel's space rather than user-land). I wouldn't be surprised to learn of issues (at least of the falling over variety) in common Linux rendering engines and for other OSs too.

replies(1): >>kevin_+vJ
◧◩◪
41. 68c12c+Vo[view] [source] [discussion] 2018-01-18 17:30:44
>>68c12c+qj
if viewed in a hex editor, this same block of patterns repeated over and over again...seemingly to be an effort to overrun the buffer....

  0x00007B90: A5CCBACD 8774CCB4 CD81CC8D CC92CD8C     .....t..........
  0x00007BA0: CD84CC86 CC8FCD8B CD97CD86 CC9BCC8F     ................
  0x00007BB0: CC8ECC95 CC87CC82 CC94CC9B CC92CC92     ................
  0x00007BC0: CC86CD91 CD9BCC86 CC8ECCBD CC84CC8B     ................
  0x00007BD0: CC91CC88 CD9DCC81 CD81CC81 CC84CCBE     ................
  0x00007BE0: CC85CCBE CC86CC84 CD82CC86 CD9DCC89     ................
  0x00007BF0: CC85CC87 CD8CCD9D CC81CC88 CCBFCC9A     ................
  0x00007C00: CC82CC86 CD8CCC90 CD9DCC82 CC9ACC80     ................
  0x00007C10: CC93CC9B CD84CC89 CD82CD8A CCBECD8B     ................
  0x00007C20: CDA0CC83 CC8ACC8E CD98CC89 CD97CC80     ................
  0x00007C30: CD80CC8A CC8FCDA0 CC80CC80 CD84CD80     ................
  0x00007C40: CD8CCD92 CD92CD91 CC90CD98 CC83CC88     ................
  0x00007C50: CD84CD9B CCBDCD9B CC84CC8D CDA0CC8C     ................
  0x00007C60: CC81CD97 CD8BCD86 CD9BCD91 CC8ECCAA     ................
  0x00007C70: CCA7CD87 CD95CCB1 CCA8CCBC CD9CCCA6     ................
  0x00007C80: CCA6CC9D CCAFCCAA CC97CCA0 CC9ECD85     ................
  0x00007C90: CCAACCA4 CCB2CCAB CD8ECCAB CD89CD8D     ................
  0x00007CA0: CCA2CCA8 CCAACC97 CCACCCA3 CCBACD93     ................
  0x00007CB0: CC9ECCA9 CD87CCA8 CD96CCAF CCBACCA7     ................
  0x00007CC0: CCB1CCBB CCA3CCAE CCABCCA7 CD96CCBA     ................
  0x00007CD0: CCAFCCA9 CCA0CCB2 CC96CD95 CCAACCAD     ................
  0x00007CE0: CD9ACCA8 CCB9CCB9 CCB0CCA0 CD88CCBA     ................
  0x00007CF0: CCA9CD9C CCA3CCA1 CCA0CD8D CC98CCA1     ................
  0x00007D00: CCAFCCA1 CC9DCD87 CCA6CC9D CCBACCBA     ................
  0x00007D10: CCAACD9A CCBACD8D CD88CD93 CCB1CCBC     ................
  0x00007D20: CCA1CCB1 CCB3CCA4 CD9ACCB0 CCA9CCB2     ................
  0x00007D30: CC9DCCAC CCADCCB9 CC9ECD89 CD89CD9C     ................
  0x00007D40: CCA5CCA8 CC9DCD89 CCBACCA2 CC9CCC9F     ................
  0x00007D50: CCA5CCBA CD8774CC B4CD81CC 8DCC92CD     ......t.........
The author comment at the top of the page says,

  <!-- hello, this was written by Abraham Masri @cheesecakeufo -->
  <!-- I discovered this bug in like 10 minutes -->
If the entire code in the page was whipped up in 10 minutes, then a large part might well be some repetitive copy-paste of a core part...Not exactly sure what this core part does...but given the obvious lack of printable ascii characters (code is way above '0x7F' ), it looks that it could be some unicode type of thing, which then is a bit reminiscing of an old iOS bug back in 2015, as described at this link,

https://www.reddit.com/r/iphone/comments/37eaxs/um_can_someo...

also notice the high frequency of 0xCC and 0xCD throughout the code, which are respectively Breakpoint and INT on x86 architecture -- with its 0xCD's always followed by a single byte whose value is less than 0xA0 -- possibly x86 was used as author's development platform...

replies(1): >>rspeer+A41
42. alwill+7p[view] [source] 2018-01-18 17:31:33
>>Harvey+(OP)
Fixed in the latest beta: https://www.macrumors.com/2018/01/17/apple-seeds-ios-11-2-5-...
replies(1): >>gondo+Bu
◧◩◪
43. aluhut+fp[view] [source] [discussion] 2018-01-18 17:32:32
>>Someon+6i
It didn't completely lock up on W7 FF 57.

The lock ups came in waves but was able to close the tab when it was unlocked.

◧◩
44. sebazz+Cp[view] [source] [discussion] 2018-01-18 17:34:10
>>Orange+bh
I suppose because SMS/messages is tightly integrated with the operating system. It goes from the baseband, through the kernel.
◧◩
45. roywig+7u[view] [source] [discussion] 2018-01-18 17:51:40
>>Orange+bh
Nokia's had one.

https://www.slashgear.com/nokia-curse-of-silence-sms-bug-pre...

◧◩◪
46. saurik+ju[view] [source] [discussion] 2018-01-18 17:52:42
>>112358+2f
The SMS app is itself "data", and it is probably the most sensitive data on my phone other than my keychain. You don't have to take a step back and say "Google": ignore you have a way to DoS someone's usage of Gmail, you can still note that "this can't be used to access data from Gmail".
◧◩
47. herodo+ku[view] [source] [discussion] 2018-01-18 17:52:43
>>hotpxl+Pf
If you submit a report on bugreport.apple.com, it will be triaged and (if necessary) passed on to the appropriate team to asses. I fixed several external user reported bugs when I worked at apple. You have to have a developer account to use bugreport. Now that I have retired, I use it. The people triaging do not know I used to be at apple. Not all the issues I report get resolved, just because they are probably low priority. But the important ones are dealt with, usually quite quickly.
◧◩
48. gondo+Bu[view] [source] [discussion] 2018-01-18 17:54:03
>>alwill+7p
and yet again they don't care about older iOS versions for people who don't want to brick their phones with updates
replies(2): >>madeof+oL >>BaconJ+6N
◧◩
49. ryanlo+Qx[view] [source] [discussion] 2018-01-18 18:10:43
>>Orange+bh
>or are there plenty of other cases out there that I just don't know about?

Yeah, go on IRC sometime and you’ll probably find out relatively quick.

Plenty of magic strings that break things on various platforms, hardly just an OS X thing.

50. rspeer+fy[view] [source] 2018-01-18 18:13:06
>>Harvey+(OP)
Anyone got any information on how the text rendering bug actually works (not just hand-waving it away as "oh it's UTF-8")?

I can see that the file alternates between segments of:

- Repetitions of the glyph "t̴́̍̒", which is a lowercase t with a combining tilde overlay, an acute accent, a vertical line above, and a turned comma above

- Random-looking ASCII characters with lots of apostrophes (spelled as &#39; in the HTML)

- Short sequences of spaces, non-breaking spaces, and zero-width joiners

- Occasional emoji

The "t̴́̍̒"s manage to slow down my terminal and glitch its rendering a bit. Is it that they're unexpectedly tall? But we've had zalgo-text for a while and it hasn't actually crashed devices.

replies(3): >>boombi+xM >>EGreg+FR >>rspeer+261
◧◩
51. Bitcoi+Ey[view] [source] [discussion] 2018-01-18 18:14:44
>>jakobe+Eh
I'm not sure either Y Combinator News nor the linked site are "major publications".

It is news, because there's a _completely passive_ way to crash a device, and crashes nearly always will allow for unauthorized code execution, given enough resources to work on the problem. You could launch a DOS attack on phones this way, and we all know that Cell Phones are how we're warned about emergencies, etc.

For what it's worth, Microsoft Edge, my default browser, had no problems with this page.

replies(1): >>danso+NZ
◧◩
52. Bitcoi+My[view] [source] [discussion] 2018-01-18 18:16:01
>>herodo+zf
Because this is completely passive -- you don't have to click on anything or do anything -- this is news. Stop being an apologist for your favorite company.
◧◩
53. on_and+ZA[view] [source] [discussion] 2018-01-18 18:28:23
>>Orange+bh
More of a potential problem than an existing one but I know potential issues have shapped how fonts are delivered on Android :

A recent version of the OS + support lib added the possibility to reference a font in your app in order to have it downloaded (if necessary) and applied to your views.

IIRC It is restricted to one font delivery system only allowing fonts available on Google fonts. Not because of a power grab, but because fonts are not just graphics but also run a bunch of code.

So unrestricted access would have been a big security hole.

If you want more details, the font team talked about it at length during an Android Developer Backstage podcast episode.

◧◩
54. zackif+fB[view] [source] [discussion] 2018-01-18 18:29:19
>>jakobe+Eh
My iPhone X wont even open imessages after trying to delete two texts with this message, i would say its a pretty big problem
replies(1): >>maxmcd+xK
◧◩◪◨
55. qubex+dC[view] [source] [discussion] 2018-01-18 18:35:33
>>menaci+Uf
There's far more risk in software not crashing when it gets malformed or otherwise unexpected input. If an application crashes, it's memory space has been relinquished and its execution process aborted. Yes, something could've been spawned, but... in general crashing when something unexpected comes up is more sensible, desirable behaviour.

(Or am I wrong? I'm not a professional programmer. I'm just reasoning from common sense.)

replies(3): >>AgentM+wG >>macint+0K >>ams611+0M
◧◩◪
56. testpl+HE[view] [source] [discussion] 2018-01-18 18:49:35
>>Someon+6i
Same for me, except on Windows 7. CPU spiked to 100% and I warmed up my hands with the extra heat :). Closing the tab and waiting a minute or so (the usual thing I do for cpu/memory intensive pages like this) didn't work. I had to completely restart Firefox to get it back to normal.
◧◩◪
57. icodem+YF[view] [source] [discussion] 2018-01-18 18:57:41
>>lisper+4g
Sad to see how the mighty have fallen
◧◩◪◨⬒
58. AgentM+wG[view] [source] [discussion] 2018-01-18 19:01:01
>>qubex+dC
The bug causing this crash might be exploitable. Think of a classic buffer overflow: if you overflow a buffer with all zeroes or random data, then the return address most likely gets overwritten with garbage that doesn't point to valid code or a mapped address and the process crashes. But if the attacker specially chose the data they put in the buffer, then they could choose to overwrite the return address with a valid memory address and make the process execute the attacker's own code.

If software written in C/C++ crashes and it's not because of a null pointer dereference specifically, then it's realistic to worry about whether it might be because of an exploitable bug (like a buffer overflow, a double-free, etc). One common way for people to try to find exploitable bugs is to script a program to re-run with random input data to figure out which inputs crash it, and then they debug the crashes to see if they're caused by exploitable bugs.

replies(2): >>blackf+YN >>qubex+US
◧◩◪
59. kevin_+vJ[view] [source] [discussion] 2018-01-18 19:17:25
>>dspill+3n
The Windows bugs are usually tied into executing TTF hint bytecode which is ignored by Freetype.
replies(1): >>skymt+jY
◧◩◪◨⬒
60. macint+0K[view] [source] [discussion] 2018-01-18 19:20:21
>>qubex+dC
You're not wrong. AgentME is correct, that crashes can be exploitable, but it is definitely more dangerous for software to continue after its data is corrupted.

The Erlang programming language, in fact, is built around the idea that as soon as you see data you don't expect, you crash, and an external process will start you back up in a known good state.

61. matt-a+cK[view] [source] 2018-01-18 19:21:27
>>Harvey+(OP)
I've noticed that iOS will only perform requests to links in iMessage if and only if the sender is in your contacts. If an unknown sender iMessages you a URL, iOS will not perform a request.
◧◩◪
62. maxmcd+xK[view] [source] [discussion] 2018-01-18 19:23:19
>>zackif+fB
I believe the solution present on this linked page will help you: https://www.vincedes3.com/save.html

Opens imessage again with a message draft so that you can delete the conversation without fetching the linked bug

replies(1): >>a_t48+CQ
◧◩◪
63. madeof+oL[view] [source] [discussion] 2018-01-18 19:28:07
>>gondo+Bu
How do you update software without updating it? I'm literally at a loss with how you would like them to resolve it if you don't want to install updates.
replies(2): >>amiga-+gW >>Classy+T41
◧◩◪◨⬒
64. madeof+IL[view] [source] [discussion] 2018-01-18 19:31:07
>>teej+Bh
Do any outsiders have access to radar itself? As a developer, when I log into radar.apple.com I'm redirected to bugreport.apple.com
◧◩◪◨⬒
65. ams611+0M[view] [source] [discussion] 2018-01-18 19:32:47
>>qubex+dC
Depends on what we mean by crash.

If program gives up and exits on receipt of unexpected input, that can be perceived as a "crash" by the user but it's not exploitable.

If it's crashing because execution suddenly jumped somewhere it shouldn't be, and the OS killed it, that's more worriesome.

◧◩◪
66. kevin_+jM[view] [source] [discussion] 2018-01-18 19:35:01
>>Kikawa+4k
> crashes the tab in Chrome, and locks up FireFox

Both of which are WebKit wrappers on iOS.

replies(1): >>pwinns+Xp1
◧◩
67. boombi+xM[view] [source] [discussion] 2018-01-18 19:36:13
>>rspeer+fy
I find it unexpectedly hilarious that we now have issues that cannot be fully described without running the risk of crashing our machines. Its as if there are certain unholy words that could cause us to faint if we were to utter them.
replies(2): >>Infern+QN >>yesena+IQ
◧◩◪
68. BaconJ+6N[view] [source] [discussion] 2018-01-18 19:39:49
>>gondo+Bu
I'm really curious to know how you think they can possibly do that without you having to update your phone. Care to explain?
replies(1): >>gondo+Pf5
◧◩◪
69. Infern+QN[view] [source] [discussion] 2018-01-18 19:44:12
>>boombi+xM
Unicode basilisks?
replies(1): >>B1FF_P+wV
◧◩◪◨⬒⬓
70. blackf+YN[view] [source] [discussion] 2018-01-18 19:45:14
>>AgentM+wG
The text-segment of the code containing the machine instructions is in read-only memory. You won't be able to overflow a heap variable with the intention of writing to the text-segment of memory without causing a segfault.
replies(1): >>0x0+V11
◧◩
71. a_t48+mQ[view] [source] [discussion] 2018-01-18 20:01:18
>>devit+G8
This is arguably spam. The "link to fix iMessage if it crashes" just opens up a ton of ads with women in lingerie.
◧◩◪◨
72. a_t48+CQ[view] [source] [discussion] 2018-01-18 20:02:25
>>maxmcd+xK
Warning - this link has dozens of not work appropriate ads on it now.
replies(1): >>maxmcd+jf1
◧◩◪
73. yesena+IQ[view] [source] [discussion] 2018-01-18 20:03:03
>>boombi+xM
Sounds right out of Gödel, Escher, Bach :

Achilles: I see the dilemma now. If any record player—say Record Player X—is sufficiently high-fidelity, then when it attempts to play the song "I Cannot Be Played on Record Player X", it will create just those vibrations which cause it to break...So it fails to be Perfect. And yet, the only way to get around that trickery, namely for Record Player X to be of lower fidelity, even more directly ensures that it is not Perfect. It seems that every record player is vulnerable to one or the other of those frailties, and hence all record players are defective. (p77)

replies(2): >>mirimi+aW >>rspeer+G21
◧◩
74. dave_s+sR[view] [source] [discussion] 2018-01-18 20:09:01
>>Orange+bh
In the 90s, there was a type of AOL punter (basically DOS attacks for AOL users) that would just IM people tons of html tags (eg <h3><h3><h3>hello</h3></h3></h3> but many more nested tags) and it would freeze aol trying to render it and kick people off the internet. They eventually fixed it.
◧◩
75. EGreg+FR[view] [source] [discussion] 2018-01-18 20:10:14
>>rspeer+fy
This reminds me of the AOL "punters" we used to make back in the day.

When I was 13 I built a program called "BorG" that did a lot of fun stuff and animations (but the effects didn't freeze people for very long) and chatbots - and I charged $3 as shareware. Or $5 if you really liked it. I got about 100 people mailing me envelopes! And I used to grab some of that money when I wanted to buy pizza or food to hang out. Those were the days.

I wonder if anyone here used it? :)

◧◩◪
76. valley+sS[view] [source] [discussion] 2018-01-18 20:14:51
>>Someon+ui
Text rendering does not live in the kernel on macOS or iOS.
◧◩◪◨⬒⬓
77. qubex+US[view] [source] [discussion] 2018-01-18 20:17:09
>>AgentM+wG
Yes I wrote a fuzzer once and was one of the guys that independently discovered the ancient NT 4.0 SP6 ”named pipe” vulnerability. I just tend to think that crashing on unexpected stuff is more sensible than any alternative (a kind of deny-by-default).
replies(2): >>dfox+GW >>Someon+LX
◧◩◪
78. yorby+FT[view] [source] [discussion] 2018-01-18 20:21:49
>>Someon+6i
I have Firefox 58/64bit/Linux and it slowed down Firefox on my i5 with 16GB ram (2GB free) w/ HDD for about 1 second... it didn't lock it up because any action that I did on firefox was slowed down by about 1 second... other programs seemed fine too.
◧◩◪◨
79. B1FF_P+wV[view] [source] [discussion] 2018-01-18 20:32:35
>>Infern+QN
https://en.wikipedia.org/wiki/BLIT_(short_story)

(Langford's story and followup in the links)

◧◩◪◨
80. mirimi+aW[view] [source] [discussion] 2018-01-18 20:37:17
>>yesena+IQ
I'm also thinking Snow Crash.
◧◩◪◨
81. amiga-+gW[view] [source] [discussion] 2018-01-18 20:37:32
>>madeof+oL
I assume he means backporting bugfixes to previous major releases.
replies(1): >>danso+kZ
◧◩◪◨⬒⬓⬔
82. dfox+GW[view] [source] [discussion] 2018-01-18 20:40:33
>>qubex+US
That depends on what is the mechanism that really causes the crash. If the crash on unexpected input is intentional, then all is good. If it is result of some random corruption of something, then you have problem.

Edit: spelling and grammar

◧◩◪◨⬒⬓⬔
83. Someon+LX[view] [source] [discussion] 2018-01-18 20:46:34
>>qubex+US
yes, it is, but I think you’ll agree that, without knowing what particularly defines the unexpected it is hard to tell whether it really is crashing on all unexpected stuff or crashing on most, and running the attacker’s code on other.

That’s what should make people worried a bit.

As to fuzzing: given the complexity of the code and the frequency at which bugs are found, I would expect Apple to fuzz their font rendering code 24/7. Do bugs still surface because there are that many, because the whole rendering engine changes that often, because of compiler bugs that do not show up in instrumented code, or because they don’t fuzz it themselves that well?

◧◩◪◨
84. skymt+jY[view] [source] [discussion] 2018-01-18 20:48:51
>>kevin_+vJ
FreeType used to ignore TrueType hint bytecode to avoid infringing on related patents, but those patents expired in 2010 and FreeType's interpreter is now enabled by default.

http://freetype.sourceforge.net/patents.html

◧◩◪◨⬒
85. danso+kZ[view] [source] [discussion] 2018-01-18 20:53:57
>>amiga-+gW
Yeah I still haven't updated one of my iOS devices because quite a few good apps haven't been updated to be compatible with iOS 11
◧◩◪
86. danso+NZ[view] [source] [discussion] 2018-01-18 20:56:55
>>Bitcoi+Ey
The BBC is the largest broadcaster in the world.
◧◩◪◨⬒⬓⬔
87. 0x0+V11[view] [source] [discussion] 2018-01-18 21:12:08
>>blackf+YN
But with ROP, there's usually no need to write into the text-segment to execute arbitrary code.
replies(1): >>blackf+UG1
88. w0rd-d+821[view] [source] 2018-01-18 21:13:25
>>Harvey+(OP)
This again? It's eerily similar to https://m.huffpost.com/us/entry/7452324 (sorry for the mobile link). Only one other comment mentions the bug from 2015 that surprise, crashes the phone in the same way. It looks like this person just worked around the patch to cause it again.
◧◩◪◨
89. rspeer+G21[view] [source] [discussion] 2018-01-18 21:17:28
>>yesena+IQ
Similarly (and also featured in a Hofstadter book), there's the short story "The Riddle of the Universe and Its Solution" by Christopher Cherniak. https://en.wikipedia.org/wiki/The_Riddle_of_the_Universe_and...

I don't think anyone ever intended for text rendering to be a "sufficiently powerful formal system" like second-order logic, number theory, or like Hofstadter says the human brain is. I would hope that, in the absence of bugs, rendering text X on computer system Y would be a plain old computable function.

◧◩◪◨
90. rspeer+A41[view] [source] [discussion] 2018-01-18 21:31:08
>>68c12c+Vo
The pattern of bytes above 0x7F isn't anything to do with x86 architecture. It's UTF-8, the most common way to encode Unicode in bytes.

You'll have more success understanding what it's doing if you decode it from UTF-8 first.

replies(1): >>68c12c+VI2
◧◩◪◨
91. Classy+T41[view] [source] [discussion] 2018-01-18 21:32:49
>>madeof+oL
I think what they're getting at it, release an iOS 10.3.4 or whatever so that people who don't want iOS 11 can still avoid this bug. They did this once before, around iOS 6 I believe, when the security certificate for Facetime ran out.

And it's understandable. iOS 11 made my iPhone 7 - the newest one at the time - so unusable I sold it and got a different phone. It went from a good, snappy phone, to a slow mess that took seconds more to open or switch apps, crashed all the time, had UI glitches all over the place, and was so slow it couldn't play locally downloaded audio without stuttering and slowing down. Ew.

replies(1): >>broken+zq1
◧◩
92. rspeer+261[view] [source] [discussion] 2018-01-18 21:40:54
>>rspeer+fy
Okay, I have at least a guess about the type of thing that's going on, after seeing what it did to Firefox (which it at least didn't crash).

Various GUI elements such as title bars, tooltips, and thumbnails of links to Web pages, will try to fit the text they're given in a certain amount of space. If the text is too wide, it'll show some amount of text followed by "...". (I wonder if they're prepared for the text to be too tall.)

I saw Firefox rendering the long sequence of t̴́̍̒ characters in the mailto: link. It was being kerned in a way that made it nearly a solid black smear of pixels.

My guess is that apps are trying to determine how much of this text to show to fit within a certain width (and height?), and this text messes with a kerning algorithm in a way that makes it computationally very difficult to decide. I still don't know what's going on with the rest of the text, and why it can read 20 MB of text without making a final decision.

93. sigjui+Hb1[view] [source] 2018-01-18 22:20:24
>>Harvey+(OP)
Where is my textbombattack.com website and cute logo?
◧◩◪◨⬒
94. maxmcd+jf1[view] [source] [discussion] 2018-01-18 22:44:10
>>a_t48+CQ
Agh, apologies, missed those with my adblocker
95. omarfo+3j1[view] [source] 2018-01-18 23:20:08
>>Harvey+(OP)
Not making any sort of comment on this issue or Apple, but I’m sure glad every bug I write isn’t covered in the news.
◧◩◪
96. lern_t+so1[view] [source] [discussion] 2018-01-19 00:13:46
>>112358+2f
The sandbox prevents an exploit in one app from accessing data in another. It doesn't stop an exploit from accessing data in the same app, like the Messages app.
◧◩◪◨
97. pwinns+Xp1[view] [source] [discussion] 2018-01-19 00:26:00
>>kevin_+jM
References to WordPad and notepad suggest they were not running Chrome or Firefox on iOS.
◧◩◪◨⬒
98. broken+zq1[view] [source] [discussion] 2018-01-19 00:32:22
>>Classy+T41
This really shits me about updates to phones and other devices like my TV.

I always cringe a bit when there's an update because the companies never provide any way to downgrade if you're not happy after.

It's not only Apple responsible, I wish there was some kind of consumer protections.

There should always be a way for a consumer to get a product back to the state is was at the time of purchase.

◧◩◪◨⬒⬓⬔⧯
99. blackf+UG1[view] [source] [discussion] 2018-01-19 03:56:37
>>0x0+V11
In order to do ROP, you need to chain together gadgets of code segments which means you need to be able to see the source code/binary. This doesn't reveal any information about the call stack nor the available libraries to chain together ROP. And that's if stack canaries haven't screwed things up already.
◧◩◪◨⬒
100. 68c12c+VI2[view] [source] [discussion] 2018-01-19 17:32:06
>>rspeer+A41
Yes, that's what I meant by "some unicode type of thing.... reminiscing to an old bug emerged two years ago" in my last post...

But on the hand, note the strong pattern of "0xCC" and "0xCD" (could be a coincidence to the x86 Breakpoint/INT code), pacing at a fixed distance throughout the code, as well as the numeric characteristics those parameters (or simply garbage code) to the "0xCC" and "0xCD" exhibit. I just feel that if there are certain numeric relations among those code chunks (for instance, all falling within a certain relatively narrow range, as all the parameters to "0xCD" are less than 0xA0 but above 0x80, a width of 32 units), it probably tells something (assuming it has been crafted in that way, with a meaningful purpose) -- but of course, my chunking method might be wrong and each character point (or instruction) might be longer 2 bytes...

And also note that a 12-MB buffer data devised within 10 minutes always seems to be a bit brute force -- so buffer overrun is quite likely in such case; and then out-of-bound data triggers some unhandlable action (as the app crashes) throughout all the exception handling stack -- in the simplistic scenario, would be a segfault -- but of course, that cheesecakeufo could do a bit more exploration with this buffer overrun -- but I guess that normally takes more than 10 minutes, for normal people....

I stopped working on this bug -- it would be a luxury to play a whole afternoon with this puzzle...do you have any further findings? Well, if I had more time, I probably would change the code a little and open it on an extra device, and see if there are any different effects...

replies(1): >>rspeer+FJ2
◧◩◪◨⬒⬓
101. rspeer+FJ2[view] [source] [discussion] 2018-01-19 17:37:30
>>68c12c+VI2
I saw a tweet about what it looks like (in some piece of software that at least manages to render something): https://twitter.com/BagusAlexandria/status/95347388267712921...

The fact that the embellished t's form these big overlapping blocks makes me think that it's hitting the worst-case behavior of some text layout algorithm.

I don't understand what all the hex digits and apostrophes are for, though.

replies(2): >>68c12c+OU2 >>68c12c+wW2
◧◩◪◨⬒⬓⬔
102. 68c12c+OU2[view] [source] [discussion] 2018-01-19 19:01:13
>>rspeer+FJ2
each displayed lines of characters in that twitter image is exactly the same...they only shift their position a bit.

it looks like the black shades over the character lines are the vestiges left by the non-ascii characters at the beginning of the code.

the displayed part is not just ascii hex and apostrophes characters, there are also punctuation characters there...My guess is that if they are displayed, then that means the system has already successfully handled them and their triggered actions have been contained in defined system behaviors...

◧◩◪◨⬒⬓⬔
103. 68c12c+wW2[view] [source] [discussion] 2018-01-19 19:13:53
>>rspeer+FJ2
I don't have a spare ios system at hand right now to do more testing on this bug (if the bug is inside the library code and not at the API level, then an emulator usually would not be able to replicate the problem in the same way a real system produces)...

hence I can only make guesses...if I had a spare one, I would try to modify the content of code and see what would happen (do things such as reducing the code size -- most of the code are repetitive -- and see what would happen if we only retain the core part; or only retain the first half of the entire code -- those 0xCC and 0xCD part; or only retain the second half, those displayable ascii chars)...trim the code down to smaller units and test on them individually (in the same sense as modular testing).

104. LocalH+KQ4[view] [source] 2018-01-21 00:10:27
>>Harvey+(OP)
Considering that this text causes issues on other platforms than just Apple (with differing levels of severity), I would posit that it's unfair to characterize this as an "Apple bug".
◧◩◪◨
105. gondo+Pf5[view] [source] [discussion] 2018-01-21 11:48:30
>>BaconJ+6N
see @ClassyJacket response basically release ios 10.3.4
[go to top]