Live data from Hacker News

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

theverge.com

11–20 of 122 posts

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

#11

I've never done any fuzzing personally, but wouldn't this be discoverable internally during testing? I would think that they would attempt sending all possible characters, especially because they've had issues with this in the past.

>I've never done any fuzzing personally, but wouldn't this be discoverable internally during testing?

Yes. This seems like a somewhat embarrassing fail in terms of whatever automated testing Apple does. It's a pretty minimal and restricted case of fuzzing, in fact I'm not sure it'd qualify as "fuzzing" at all because here the crasher is just an actual Unicode character, part of a fixed set that can be completely run through in deterministic time. Unicode is certainly large in human terms but in terms of automated test data sets it's not.

Given the notorious difficulties and edge cases Unicode parsing has long created, testing every single individual character in Unicode as part of standard unit/regression testing seems like something that should just be done as a bare minimum for an operating system or parsing framework/library release. That's not to say there wouldn't be more complex inputs that would cause problems that sufficient fuzzing could discover, but this kind of a error from a single real language character shouldn't have slipped through, it's not random.

Unicode and image/document handling frameworks are both areas that should have extensive fuzzing as well as deterministic input sets for testing. They shouldn't need to be messed with much either once they're "done", so in the case of an org like Apple this is the sort of place where it might even make sense to really devote resources to getting at least some parts of it formally verified.

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

#12

I've never done any fuzzing personally, but wouldn't this be discoverable internally during testing? I would think that they would attempt sending all possible characters, especially because they've had issues with this in the past.

Well of course they could have done that.

To be honest, though, if someone on my team suggested we implement an automated test that tries sending every Unicode character (and it would be applied to every interface of every app and API, right?) I would have objected that this was an over-complicated, over-engineered solution that will probably be too slow.

I'd argue that a set of test data selected to cover a range of patterns, especially ones that are considered risky (either is know to have caused problems in the past or appear complicated or tricky) would have almost as good coverage and be an order of magnitude more useful.

The problem with "run-every-case" tests is that they start off slow and get exponentially slower if you try to go deep you very quickly end up with tests that take too long to run to be useful. (e.g., {every Unicode character} is one thing... {Every Unicode character} X {every interface and app} is a LOT more. {Every Unicode character} X {every interface and app} X {every build} X {every device model} X etc. is impossible). So you end up with very broad but very shallow tests. And that means less coverage ultimately, not more.

Generally, I think you'll get more efficient, effective, useful tests if you tailor the test data sets to the problems you see rather than going for blanket coverage.

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

#13
post #8
post #2

What Apple, and Microsoft before them, are discovering is the tools and processes we use to create software simply doesn't scale. We're simply reaching the limits of what these giant software teams are able to produce and keep running. We can discuss solutions, but currently not everybody even agrees we have a problem. That's the first step we need to take.

I disagree that this is the product of scale. Looking at some of the bugs coming out of Apple lately and how they respond to them (assuming it's really a trend and not just a run of bad luck) it feels like they're slipping into a culture where individual feature teams are making emotional or schedule-based decisions about security without central guidance. A good example is the recent bug on MacOS where a low-privile…

Within the context of the previous comment, this is a great comment.

I read it six times in rapid succession and it keeps flipping between being a supporting arguement for and against the parent comment.

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

#17

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

also crashed firefox on mac and chrome somebody should just paste them here in the comments seeing the % of people here who run macos

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

#18

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

iTerm2 crashes if that character is echoed to the terminal. To reproduce, make a file containing the character and then `cat` it.

Very nasty (reported upstream.)

Post reply on HN