nomen-est-omen icon indicating copy to clipboard operation
nomen-est-omen copied to clipboard

Introduced protections against predictable RNG abuse

Open pixeebot[bot] opened this issue 10 months ago • 0 comments

This change replaces all new instances of java.util.Random with the marginally slower, but much more secure java.security.SecureRandom.

We have to work pretty hard to get computers to generate genuinely unguessable random bits. The java.util.Random type uses a method of pseudo-random number generation that unfortunately emits fairly predictable numbers.

If the numbers it emits are predictable, then it's obviously not safe to use in cryptographic operations, file name creation, token construction, password generation, and anything else that's related to security. In fact, it may affect security even if it's not directly obvious.

Switching to a more secure version is simple and our changes all look something like this:

- Random r = new Random();
+ Random r = new java.security.SecureRandom();
More reading

Powered by: pixeebot (codemod ID: pixee:java/secure-random)

pixeebot[bot] avatar Apr 15 '24 18:04 pixeebot[bot]