Skip to content

Security: Replace rand() with crypto::rand() in AES key generation#27

Open
post-hum wants to merge 7 commits into
scala-network:masterfrom
post-hum:fix-oaes-rand
Open

Security: Replace rand() with crypto::rand() in AES key generation#27
post-hum wants to merge 7 commits into
scala-network:masterfrom
post-hum:fix-oaes-rand

Conversation

@post-hum
Copy link
Copy Markdown
Contributor

Security: Replace rand() with crypto::rand() in AES

Problem: rand() used for AES key generation when OAES_HAVE_ISAAC not defined.

Fix: Replace with crypto::rand<uint8_t>()

Impact: Critical (CVSS 9.8) - predictable AES keys

@hayzamjs please review

Critical: rand() used for AES keys when OAES_HAVE_ISAAC not defined.
Fix: Use crypto::rand<uint8_t>() instead.

Impact: Prevents predictable AES keys and wallet decryption.
@post-hum
Copy link
Copy Markdown
Contributor Author

The code formatting changes (tabs → spaces) were applied automatically during editing. If this causes any concerns, I can create a separate PR with only the security fix

Oops, my first attempt was a disaster 😬
I was too quick and didn't test. The previous PR didn't even compile – embarrassing.
This time I've properly replaced crypto::rand with generate_random_bytes_not_thread_safe, and tested it. Sorry for the noise, folks.
Ready for review now :)))
@post-hum
Copy link
Copy Markdown
Contributor Author

Tested:
Build: OK
AES encrypt/decrypt: OK
Wallet creation: OK
Keys are different on each run
No rand() calls left in library

Safe to merge :)

Lol:)

@hayzamjs
Copy link
Copy Markdown
Contributor

If you're going to make style changes it'll be good if those are a separate PR else it is very difficult to diff what changed/what didn't, please revert those and I can take a look

@post-hum
Copy link
Copy Markdown
Contributor Author

Done :)

@post-hum
Copy link
Copy Markdown
Contributor Author

Is this PR no longer needed? You could use it as a temporary solution...

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

Successfully merging this pull request may close these issues.

2 participants