I think we all understand your explanation, but some of us just don't quite believe that the alleged broken fix has not been an NSA approved "solution".
I don't know how you guys work there in Google, but all the companies I have worked in, when they fix a bug, they also create test cases, to make sure that the problem has actually been fixed.
And you are saying that they fixed such a critical security issue, though without realizing that they didn't actually fix it...
Well, it would mean that either Google is lamer than a drunk teenage girl, or somebody is just trying to sell us some fairy tales.
Piotr_n, show some civility!
Mike isn't an android developer, he's not Google CEO, this isn't his mistake. The new bug, which has not yet been disclosed by Google, is apparently an entirely different bug than the old one. I have no doubt that they tested the fix for the old bug and were confident that it was fixed... but a test for an old bad behavior doesn't always show the new one.
In any case, I'm not subject to any Google confidentiality agreements and have no privileged access to the bug information in this case, and I think other people know about this class of weakness already... so I suppose I can tell you what my guess of the bug is: I think android was seeding the OpenSSL RNG at start and then forking more processes and, in the coarse of doing so, copying the RNG's state. OpenSSL has automatic seeding of its internal state from the OS, but it only fires once. If you aren't careful with the use of fork you can end up with processes that have duplicate copies of the RNG state. I don't know that this was the case on android, but it's a bug other people have had before, which the workaround proposed for android would have fixed. But it is entirely unlike the harmony bad RNG problems, and while you can always fault someone for making a critical security mistake, this isn't one that would have resulted from a straight up sloppy QA practice.