lambdaworks icon indicating copy to clipboard operation
lambdaworks copied to clipboard

bug(field): FieldElement is not zeroized on drop

Open Trantorian1 opened this issue 1 year ago • 0 comments

Bug Report

lambdaworks-math version: 021c3b6

Current behavior: FieldElement does not implement any zeroizing when it is dropped, opening the door for potential memory read attacks on sensitive information such as private keys.

Expected behavior:

FieldElement should implement #[derive(ZeroizeOnDrop)] or similar to allow memory zeroing when dropped. This could be feature-gated. Either a manual implementation using ptr::write_volatile and atomic::compiler_fence or using zeroize would fix this issue

Other information:

While there certainly are more common ways to leak sensitive cryptographic information like private keys, it seems like for something in our control such as in-memory representation we should at least provide this as an option.

Trantorian1 avatar Oct 08 '24 16:10 Trantorian1