Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PRNG unsafe against forking #37

Closed
Berbe opened this issue Jul 19, 2015 · 3 comments
Closed

PRNG unsafe against forking #37

Berbe opened this issue Jul 19, 2015 · 3 comments

Comments

@Berbe
Copy link

Berbe commented Jul 19, 2015

Following this link, LibreSSL's PRNG is not safe and can provide the same 'random' bytes when called from a fork, compared to a call in the original program.

@4a6f656c
Copy link

This was addressed over a year ago - did you read the full article, particularly the part under the heading "Update (2014-07-16 03:33 UTC): LibreSSL releases fix for fork issue"?

@busterb
Copy link

busterb commented Jul 19, 2015

We even integrated the test from this article into the portable build at the time this was raised. Simply configure with the --enable-extratests flag. It is disabled by default because running this one test can easily take longer than building and running the rest of the tests combined (due to it being a somewhat contrived scenario, fork speed, upper PID bounds, etc.). It is called 'pidwraptest'.

Operating systems can also improve and make solving this problem easier as well. Some have made progress in the year since we addressed this, others have not. I'm looking forward to unmasking some of the blacklisted OS arc4random implementations in the future.

@busterb busterb closed this as completed Jul 19, 2015
@Berbe
Copy link
Author

Berbe commented Jul 19, 2015

Thanks for your 'kind' words.
In this 'Update' section, have you also noticed the comments against that less-than-ideal solution of yours, that could be bypassed? The author noted your step wes going the right direction, but that is not enough for a library providing such critical mechanism that lie underneath the whole concept of encryption.

Apart from angry reactions stating I did not RTFM, I would prefer having read replies to that part.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants