First published: Mon Jun 10 2024(Updated: )
liboqs is a C-language cryptographic library that provides implementations of post-quantum cryptography algorithms. A control-flow timing lean has been identified in the reference implementation of the Kyber key encapsulation mechanism when it is compiled with Clang 15-18 for `-Os`, `-O1`, and other compilation options. A proof-of-concept local attack on the reference implementation leaks the entire ML-KEM 512 secret key in ~10 minutes using end-to-end decapsulation timing measurements. The issue has been fixed in version 0.10.1. As a possible workaround, some compiler options may produce vectorized code that does not leak secret information, however relying on these compiler options as a workaround may not be reliable.
Credit: security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
liboqs | <0.10.1 | |
Clang | >=15<=18 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2024-36405 is considered to have high severity due to the control-flow timing leak that can impact cryptographic security.
To fix CVE-2024-36405, update liboqs to version 0.10.1 or later and ensure you're not compiling with Clang versions 15-18 using the -Os optimization flag.
CVE-2024-36405 affects systems using the liboqs cryptographic library and Clang compilers ranging from version 15 to 18.
The impact of CVE-2024-36405 includes potential exposure of sensitive cryptographic operations, making it easier for attackers to exploit the timing leak.
A potential workaround for CVE-2024-36405 is to avoid using Clang versions 15-18 with the -Os optimization flag while waiting for an official patch.