The exploit as described doesn't "brick" the device; that would require permanently disabling it. A tethered restore would be all that's required to recover in this case.
How a single line of code could brick your iPhone
41–50 of 126 posts
Re: How a single line of code could brick your iPhone
#42Great work! This is my favourite type of vulnerability, simple, effective and brutal. Reminds me of a time two decades ago when with a friend from uni we theorised about a perfect server vulnerability where you’d exploit a machine by pinging it. And of course, two years ago it was in fact discovered as CVE-2022-23093.
Ping of death was already a thing two decades ago. https://web.archive.org/web/19981206105844/http://www.sophis...
Re: How a single line of code could brick your iPhone
#43Earlier quoted context omitted.
The notification API is quite old (iOS 3). It's explicitly an untrusted API that you shouldn't use for something like showing the restore in progress UI, so I suspect that was something written quite a bit later. Widget extensions are iOS 14. There's older ways to run background tasks, but none of them would give the soft brick. Background fetch, for example, originally didn't run until after you launched an app for…
This is an internal broadcast notification API (akin to dbus on Linux), distinct from the API used to display notifications to the user.
Re: How a single line of code could brick your iPhone
#44Earlier quoted context omitted.
The notification API is quite old (iOS 3). It's explicitly an untrusted API that you shouldn't use for something like showing the restore in progress UI, so I suspect that was something written quite a bit later. Widget extensions are iOS 14. There's older ways to run background tasks, but none of them would give the soft brick. Background fetch, for example, originally didn't run until after you launched an app for…
Wasn’t it in OS X before that?
Re: How a single line of code could brick your iPhone
#45The exploit as described doesn't "brick" the device; that would require permanently disabling it. A tethered restore would be all that's required to recover in this case.
From observation, "brick" has evolved, as things do in language. In practice, it rarely means the traditional definition you refer to, but the softer one used here.
Re: How a single line of code could brick your iPhone
#46Earlier quoted context omitted.
Ping of death was already a thing two decades ago. https://web.archive.org/web/19981206105844/http://www.sophis...
It was actually almost 3 decades ago, making me feel extremely old - the period right at the end of '96 and into mid '97 when this was a popular way to cause mischief via IRC was truly a magical time
Everything was plaintext, including “authentication”, which was (at best) just asking the “ident server” on the same machine as your client who you claimed to be, which was considered sufficient because, after all, to run identd on its “privileged” low port meant you were an “administrator” (i.e. root of a unix machine).
Re: How a single line of code could brick your iPhone
#47Earlier quoted context omitted.
This is an internal broadcast notification API (akin to dbus on Linux), distinct from the API used to display notifications to the user.
Yes, I am aware. I'm not sure what makes you think I was talking about UI notifications?
Re: How a single line of code could brick your iPhone
#48Earlier quoted context omitted.
Ping of death was already a thing two decades ago. https://web.archive.org/web/19981206105844/http://www.sophis...
It was actually almost 3 decades ago, making me feel extremely old - the period right at the end of '96 and into mid '97 when this was a popular way to cause mischief via IRC was truly a magical time
Re: How a single line of code could brick your iPhone
#49I don’t specifically know the types of things that you’d want to share across apps, but there’s a long history of cross process information channels being removed or restricted.
If the system is storing values for you, and isn’t keeping track of which app they came from, now you’ve got persistent storage across app deletion & re-install, as long as there isn’t a reboot in between.
I think you could easily use it to work around IDFA or IDFV resets, as a simple example.
Re: How a single line of code could brick your iPhone
#50Anyone know how long ago that system would have been introduced? It seems like such an obvious security concern. Maybe it was pre-AppStore? And more assumed trust in other apps?