CVE-2026-46344
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk23th percentile - higher than 23% of all known CVEs
Summary
liboqs prior to version 0.16.0 has an out-of-bounds read vulnerability in the XMSS and XMSS^MT signature verification code, potentially leading to a crash (denial of service).
Risk Assessment
An attacker can cause the verification process to crash, potentially disrupting systems using post-quantum cryptography.
Recommendation
Update liboqs to version 0.16.0 or later, which includes the fix.
Other vulnerabilities in liboqs
See all- CVE-2026-47738Medium
liboqs prior to 0.16.0 can dereference an uninitialized encaps_derand function pointer in OQS_KEM_encaps_derand for six NTRU schemes (NTRU-HPS-2048-509, NTRU-HPS-2048-677, NTRU-HPS-4096-821, NTRU-HPS-4096-1229, NTRU-HRSS-701, NTRU-HRSS-1373). The affected constructors omit the encaps_derand member and OQS_KEM objects are allocated without zero initialization. An application is affected only if it instantiates one of those six NTRU KEMs and invokes OQS_KEM_encaps_derand on it.
- CVE-2026-44519Medium
In liboqs, the ct_select function in the FrodoKEM implementation (AES and SHAKE variants) lacks a value barrier in the Fujisaki-Okamoto implicit-rejection path. When compiled with Clang 17 or later at an optimization level such as -Os, the compiler can emit a secret-dependent conditional load, allowing success and rejection paths to be distinguished by cache residency.
- CVE-2026-104254Medium
In liboqs from 0.11.0 through 0.16.0, builds with OQS_ENABLE_SIG_STFL_LMS=ON can read beyond a caller-supplied signature buffer when an untrusted truncated LMS or HSS-LMS signature reaches OQS_SIG_STFL_verify or OQS_SIG_STFL_alg_lms_verify. hss_validate_signature_init() does not ensure the bottom-level q and C fields remain available, allowing up to 32 bytes to be read past the buffer, and in 0.16.0 is_hss_public_key() reads at offset 8 after only a four-byte length check.
- CVE-2026-44518Medium
In liboqs before 0.16.0, an out-of-bounds read occurs in XMSS/XMSS^MT signature verification when the signature buffer is shorter than expected. The implementation does not validate the length and reads past the buffer, potentially causing a crash (DoS).
Original NVD description (English source)
liboqs is a C-language cryptographic library that provides implementations of post-quantum cryptography algorithms. Prior to 0.16.0, an out-of-bounds read has been identified in the XMSS and XMSS^MT stateful signature verification code. When the verification function is called with a correctly-sized signature buffer for the declared algorithm but a public key whose OID bytes (pk[0..3]) reference a different XMSS parameter set with a larger sig_bytes, the implementation re-parses the OID from the public key inside xmss_sign_open / xmssmt_sign_open and uses the resulting (larger) sig_bytes to index the caller-supplied signature buffer. As with CVE-2026-44518, the out-of-bounds bytes are consumed only as input to an internal hash computation and are not returned to the caller, so no oracle exists to leak their contents to an attacker. The primary observable effect is a possible crash (denial of service) of the verifying process if the read crosses into an unmapped memory page. This vulnerability is fixed in 0.16.0.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

