lambdaworks
lambdaworks copied to clipboard
bug(field): FieldElement is not zeroized on drop
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.