Live data from Hacker News

Android libstagefright still exploitable

blog.exodusintel.com

41–50 of 150 posts

Re: Android libstagefright still exploitable

#41

Earlier quoted context omitted.

Indeed. Even the supposedly quickly updated Moto X did not receive a patch yet two weeks after the fact [1]. I feel sorry for all those people who are still stuck on Kit Kat or even worse Jelly Bean. https://www.reddit.com/r/MotoX/comments/3gugxa/anyone_got_th...

And for those of us who don't want Lollipop, we'll never be offered the update. We have to either accept a bad system "upgrade" or stay insecure.

I feel for people whose providers won't upgrade them and I think they've got a good complaint, but if you choose to get off the upgrade path I think it's reasonable to assert that you're assuming responsibility for your own choices and security. I expect it can be backported to 4.x via custom ROMs for folks in that spot.

Re: Android libstagefright still exploitable

#42
post #31

Why are arithmetic overflows and underflows not exceptions/crashes by default, like divison by 0? Aren't the cases where you actually want an over/underflow the exception? Why not resort to special instructions/macros/operators for these operations?

Rust debated this for a while, and eventually did decide to make overflows panic -- but they are checked only in debug builds.

https://github.com/rust-lang/rfcs/blob/master/text/0560-inte...

Re: Android libstagefright still exploitable

#43

Earlier quoted context omitted.

I shouldn't be required to do to get security releases. Why should you not be required to do that?

Because withholding security updates over accepting horrifically invasive UI and branding changes is unacceptable. Similar to Microsoft still patching Vista nearly ten years later, Google should be obligated to deliver security patches to all versions of Android within a reasonable timeframe.

I think it's more difficult to patch old versions of Android than you're suggesting. You can't just backport a few lines of code and hope for the best. You have to maintain all the testing infrastructure that you had in place back when that version was supported, to avoid introducing new bugs with your change. And if you're releasing a security fix, you now have to coordinate that release across all versions that were vulnerable, because patching the vulnerability in one version usually discloses it in all versions. So you've slowed down fixes for your most up-to-date version, on top of the added expense of all that testing.

Companies like Microsoft make boatloads of money in exchange for supporting old versions of their software like that. But nobody is going to pay Google enough to support old Android phones.

Re: Android libstagefright still exploitable

#44

Earlier quoted context omitted.

What? If your intention is to apoligize Google, can you do it in a more clear way?

I'm not a Google apologist and I don't appreciate your tone. I'm attempting to orient myself so that I can think about what is right and wrong with respect to responsible disclosure in a clear and coherent fashion.

And I don't believe you.

Re: Android libstagefright still exploitable

#45

Earlier quoted context omitted.

It isn't a new bug; what they're reporting is that the patch which was supposed to fix an already-publicly-disclosed bug doesn't fully fix it.

Can you help me understand this? They're complaining about a bug in the patch implementation and the patch implementation did not exist prior to the patch; ergo, if Google didn't patch the code, they wouldn't be able to write the article. Is that not a new bug almost definitionally? Please help me understand if I am incorrect. I understand the underlying issue which was first reported did not get patched properly, bu…

The bug is not new after the patch. The patch just failed to fix the original bug.

Re: Android libstagefright still exploitable

#46
Can carriers (and by extension, the Hangouts backend itself) check messages and block "evil" ones? Wouldn't that be an easier way of fixing these things quickly?

At the very least, Google should block any Hangouts message that triggers the bug even on non-updated devices.

Re: Android libstagefright still exploitable

#47
post #35

And I was wondering at the beginning of the article why they were doing if (SIZE_MAX - chunk_size and not the more readable if (size + chunk_size >= SIZE_MAX) Of course, C integer overflow. The real WTF is that this is possible in C. What would be more sensible than integer overflow would be to automatically promote integers to a larger type in the context of a comparison, so that they don't overflow. I wonder if you…

You seem to be asking for quite some magic in that __no_overflow idea. It might be possible with a trivial expression like this, but what if there are function calls in that expression, or even library calls? There are lots of places overflow could happen, and the site of your __no_overflow may not have code-gen control over it at all. As for __checked, gcc has some builtins like this: https://gcc.gnu.org/onlinedocs/…

Well, it wouldn't reach into functions. It would mainly just change the + and - operators within its scope to return a larger type. So instead of

    int32_t plus(int32_t left, int32_t right);
the plus operator would be equivalent to

    int64_t plus(int32_t left, int32_t right);
So basically

    int32_t a = 2000000000;
    int32_t b = 2000000000;
    int64_t c = __no_overflow(a+b);
    // now c is 4000000000;
I don't claim the idea to be flawless or completely thought out, but I believe something like that could be one of the more useful C language extensions.

Oh, and thanks for the link!

Re: Android libstagefright still exploitable

#48
post #16

Earlier quoted context omitted.

Eh, fuck google. They still haven't patched the original stagefright for android 4.4.4 on my nexus 5, and I don't want to upgrade to android 5, which I shouldn't be required to do to get security releases.

I shouldn't be required to do to get security releases. Why should you not be required to do that?

Because I shouldn't be required to accept giant releases (including broken functionality I rely on) to get security updates. Because it noticeably worsens battery life. Because it's a horrid practice to screw with software on production gear just for shits and giggles, and what is your phone if not a production device?

Re: Android libstagefright still exploitable

#49

Earlier quoted context omitted.

Because withholding security updates over accepting horrifically invasive UI and branding changes is unacceptable. Similar to Microsoft still patching Vista nearly ten years later, Google should be obligated to deliver security patches to all versions of Android within a reasonable timeframe.

I think it's more difficult to patch old versions of Android than you're suggesting. You can't just backport a few lines of code and hope for the best. You have to maintain all the testing infrastructure that you had in place back when that version was supported, to avoid introducing new bugs with your change. And if you're releasing a security fix, you now have to coordinate that release across all versions that wer…

it's already disclosed, don't pretend like patching 4.4.4 discloses anything

Re: Android libstagefright still exploitable

#50
post #31

Why are arithmetic overflows and underflows not exceptions/crashes by default, like divison by 0? Aren't the cases where you actually want an over/underflow the exception? Why not resort to special instructions/macros/operators for these operations?

Performance. That's an extra branch on every arithmetic operation.
Post reply on HN