CVE-2026-46344
liboqs: Heap-buffer-overflow in XMSS verification path via OID-controlled parameter mismatch (xmss_commons.c:194)
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
liboqs: Heap-buffer-overflow in XMSS verification path via OID-controlled parameter mismatch (xmss_commons.c:194)
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.
- Record
CVE-2026-46344- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2026-33413
5.3
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.
- Record
EUVD-2026-33413- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
NVD
5.3
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.
- Record
CVE-2026-46344- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-125
- Updated
- 2026-11-02
OSV
5.3
liboqs: Heap-buffer-overflow in XMSS verification path via OID-controlled parameter mismatch (xmss_commons.c:194)
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.
- Record
CVE-2026-46344- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11365-1 No score
liboqs-devel-0.16.0-2.1 on GA media
These are all security issues fixed in the liboqs-devel-0.16.0-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11365-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21634-1 No score
Security update for liboqs
This update for liboqs fixes the following issues:
Changes in liboqs:
Updated to 0.16.0:
Deprecation notice:
- SPHINCS+ was removed in 0.16.0.
Security issues:
- Fixed uninitialized
encaps_derandpointer dereference - CVE-2026-46344, CVE-2026-44518: Fixed out-of-bounds read in XMSS/XMSS^MT signature verification (bsc#1267007 bsc#1267001)
- Fixed Integer underflow in CROSS
crypto_sign_open() - Fixed incorrect array size when calling
secure_clean - Implemented optimization barrier
OQS_MEM_BLACK_BOXand applied toct_selectin FrodoKEM
Significant change:
FrodoKEM algorithm change:
-
Existing FrodoKEM in 0.15.0 was renamed to ephemeral FrodoKEM (
KEM_efrodokem_<640|976|1344>_<aes|shake>), and the salted variant of FrodoKEM was added under the prior names (KEM_frodokem_<640|976|1344>_<aes|shake>).Ephemeral FrodoKEM is recommended for applications where each keypair will encapsulate only a small number of shared secrets and ciphertexts. Standard (salted) FrodoKEM is recommended for applications where each keypair is expected to encapsulate large number of ciphertexts. Please consult upstream for more details.
-
mldsa-native integration:
mldsa-native is a secure, fast, and portable C90 implementation of the ML-DSA post-quantum signature standard. It also includes optimized builds for x86_64 and aarch64. It is now the default implementation behind
SIG_ml_dsa_<44|65|87>. -
Updated HQC implementation:
The HQC implementations in liboqs were updated to 20250822 spec. Its upstream switched from PQClean to the official repo.
KEM_hqc_<1|3|5>is now enabled by default. -
MQOM integration and memory-optimized build flag:
MQOM is a third-round candidate in NIST's Additional Digital Signatures for the PQC Standardization Process. Portable, x86_64-optimized, and memory-optimized implementations were integrate�into liboqs under
OQS_ENABLE_SIG_MQOM. -
OpenSSH implementation of NTRU Prime:
A public-domain OpenSSH implementation of NTRUPrime761 replaced the PQClean implementation as the default backend for
KEM_ntruprime_sntrup761.
Bug fixes:
-
Fixed incremental absorption bug in AVX512VL SHA3-512 #2442
-
Implemented fallback for when
EVP_DigestSqueezeis unavailable #2433 -
Added API for detecting stateful signature support at runtime #2434
-
Fixed missing initialization and indexing bug in LMS #2416
-
Fixed erroneous MAYO_OK despite failed sample_solution() attempts in MAYO #2403
-
Limited pytest parallelism to prevent memory exhaustion in constrained environment #2397
-
Fixed cuPQC ML-KEM derand symbol names and
#if/#elifchains #2396 -
Tightened Windows compiler detection #2394
-
Fixed mismatched macros in LMS #2379
-
Made fuzzers tolerant to disabled algorithms #2359
-
Removed inlined exponentiation in CROSS-RSDPG-1 #2357
-
Fixed incorrect arg register update in AVX512 Keccak #2330
-
Update to 0.15.0:
- Significant changes:
- Integrated SLH-DSA implementation from pq-code-package/slhdsa-c
- SLH-DSA ACVP tests (#2237) -…
- Significant changes:
- Record
openSUSE-SU-2026:21634-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23313-1 No score
Security update for liboqs
This update for liboqs fixes the following issues:
Changes in liboqs:
Updated to 0.16.0:
Deprecation notice:
- SPHINCS+ was removed in 0.16.0.
Security issues:
- Fixed uninitialized
encaps_derandpointer dereference - CVE-2026-46344, CVE-2026-44518: Fixed out-of-bounds read in XMSS/XMSS^MT signature verification (bsc#1267007 bsc#1267001)
- Fixed Integer underflow in CROSS
crypto_sign_open() - Fixed incorrect array size when calling
secure_clean - Implemented optimization barrier
OQS_MEM_BLACK_BOXand applied toct_selectin FrodoKEM
Significant change:
FrodoKEM algorithm change:
-
Existing FrodoKEM in 0.15.0 was renamed to ephemeral FrodoKEM (
KEM_efrodokem_<640|976|1344>_<aes|shake>), and the salted variant of FrodoKEM was added under the prior names (KEM_frodokem_<640|976|1344>_<aes|shake>).Ephemeral FrodoKEM is recommended for applications where each keypair will encapsulate only a small number of shared secrets and ciphertexts. Standard (salted) FrodoKEM is recommended for applications where each keypair is expected to encapsulate large number of ciphertexts. Please consult upstream for more details.
-
mldsa-native integration:
mldsa-native is a secure, fast, and portable C90 implementation of the ML-DSA post-quantum signature standard. It also includes optimized builds for x86_64 and aarch64. It is now the default implementation behind
SIG_ml_dsa_<44|65|87>. -
Updated HQC implementation:
The HQC implementations in liboqs were updated to 20250822 spec. Its upstream switched from PQClean to the official repo.
KEM_hqc_<1|3|5>is now enabled by default. -
MQOM integration and memory-optimized build flag:
MQOM is a third-round candidate in NIST's Additional Digital Signatures for the PQC Standardization Process. Portable, x86_64-optimized, and memory-optimized implementations were integrate into liboqs under
OQS_ENABLE_SIG_MQOM. -
OpenSSH implementation of NTRU Prime:
A public-domain OpenSSH implementation of NTRUPrime761 replaced the PQClean implementation as the default backend for
KEM_ntruprime_sntrup761.
Bug fixes:
-
Fixed incremental absorption bug in AVX512VL SHA3-512 #2442
-
Implemented fallback for when
EVP_DigestSqueezeis unavailable #2433 -
Added API for detecting stateful signature support at runtime #2434
-
Fixed missing initialization and indexing bug in LMS #2416
-
Fixed erroneous MAYO_OK despite failed sample_solution() attempts in MAYO #2403
-
Limited pytest parallelism to prevent memory exhaustion in constrained environment #2397
-
Fixed cuPQC ML-KEM derand symbol names and
#if/#elifchains #2396 -
Tightened Windows compiler detection #2394
-
Fixed mismatched macros in LMS #2379
-
Made fuzzers tolerant to disabled algorithms #2359
-
Removed inlined exponentiation in CROSS-RSDPG-1 #2357
-
Fixed incorrect arg register update in AVX512 Keccak #2330
-
Update to 0.15.0:
- Significant changes:
- Integrated SLH-DSA implementation from pq-code-package/slhdsa-c
- SLH-DSA ACVP tests (#2237)
- Integrate…
- Significant changes:
- Record
SUSE-SU-2026:23313-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3420-1 No score
Security update for liboqs, oqs-provider
This update for liboqs, oqs-provider fixes the following issues:
- disable KEM_HQC and SIG_MQOM and KEM_NTRUPRIME on s390x for now, testsuite shows them not working.
Updated to 0.16.0:
Deprecation notice:
- SPHINCS+ was removed in 0.16.0.
Security issues:
- Fixed uninitialized
encaps_derandpointer dereference - CVE-2026-46344, CVE-2026-44518: Fixed out-of-bounds read in XMSS/XMSS^MT signature verification (bsc#1267007 bsc#1267001)
- Fixed Integer underflow in CROSS
crypto_sign_open() - Fixed incorrect array size when calling
secure_clean - Implemented optimization barrier
OQS_MEM_BLACK_BOXand applied toct_selectin FrodoKEM
Significant change:
FrodoKEM algorithm change:
- Existing FrodoKEM in 0.15.0 was renamed to ephemeral
FrodoKEM (
KEM_efrodokem_<640|976|1344>_<aes|shake>), and the salted variant of FrodoKEM was added under the prior names (KEM_frodokem_<640|976|1344>_<aes|shake>). Ephemeral FrodoKEM is recommended for applications where each keypair will encapsulate only a small number of shared secrets and ciphertexts. Standard (salted) FrodoKEM is recommended for applications where each keypair is expected to encapsulate large number of ciphertexts. Please consult upstream for more details. - mldsa-native integration:
mldsa-native is a secure, fast, and portable C90 implementation of the
ML-DSA post-quantum signature standard. It also includes optimized
builds for x86_64 and aarch64. It is now the default implementation
behind
SIG_ml_dsa_<44|65|87>. - Updated HQC implementation:
The HQC implementations in liboqs were updated to 20250822
spec. Its upstream switched from PQClean to the official
repo.
KEM_hqc_<1|3|5>is now enabled by default. - MQOM integration and memory-optimized build flag:
MQOM is a third-round candidate in NIST's Additional Digital
Signatures for the PQC Standardization Process. Portable,
x86_64-optimized, and memory-optimized implementations were
integrate�into liboqs under
OQS_ENABLE_SIG_MQOM. - OpenSSH implementation of NTRU Prime:
A public-domain OpenSSH implementation of NTRUPrime761
replaced the PQClean implementation as the default backend for
KEM_ntruprime_sntrup761.
Bug fixes:
- Fixed incremental absorption bug in AVX512VL SHA3-512 #2442
- Implemented fallback for when
EVP_DigestSqueezeis unavailable #2433 - Added API for detecting stateful signature support at runtime #2434
- Fixed missing initialization and indexing bug in LMS #2416
- Fixed erroneous MAYO_OK despite failed sample_solution() attempts in MAYO #2403
- Limited pytest parallelism to prevent memory exhaustion in constrained environment #2397
- Fixed cuPQC ML-KEM derand symbol names and
#if/#elifchains #2396 - Tightened Windows compiler detection #2394
- Fixed mismatched macros in LMS #2379
- Made fuzzers tolerant to disabled algorithms #2359
- Removed inlined exponentiation in CROSS-RSDPG-1 #2357
- Fixed incorrect arg register update in AVX512 Keccak #2330
Update to 0.15.0:
-
Significant changes:
- Integrated SLH-DSA…
- Record
SUSE-SU-2026:3420-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
liboqsSUSE:Linux Enterprise Server 16.0 |
before 0.16.0-160000.1.1 | 0.16.0-160000.1.1 |
oqs-providerSUSE:Linux Enterprise Server 16.0 |
before 0.11.0.32-160000.1.1 | 0.11.0.32-160000.1.1 |
liboqsSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 0.16.0-160000.1.1 | 0.16.0-160000.1.1 |
oqs-providerSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 0.11.0.32-160000.1.1 | 0.11.0.32-160000.1.1 |
liboqsSUSE:Linux Enterprise Module for Basesystem 15 SP7 |
before 0.16.0-150600.3.6.1 | 0.16.0-150600.3.6.1 |
oqs-providerSUSE:Linux Enterprise Module for Basesystem 15 SP7 |
before 0.11.0.32-150600.3.9.1 | 0.11.0.32-150600.3.9.1 |
liboqsSUSE:Linux Enterprise Server 15 SP6-LTSS |
before 0.16.0-150600.3.6.1 | 0.16.0-150600.3.6.1 |
oqs-providerSUSE:Linux Enterprise Server 15 SP6-LTSS |
before 0.11.0.32-150600.3.9.1 | 0.11.0.32-150600.3.9.1 |
liboqsSUSE:Linux Enterprise Server for SAP Applications 15 SP6 |
before 0.16.0-150600.3.6.1 | 0.16.0-150600.3.6.1 |
oqs-providerSUSE:Linux Enterprise Server for SAP Applications 15 SP6 |
before 0.11.0.32-150600.3.9.1 | 0.11.0.32-150600.3.9.1 |
liboqsopenSUSE:Tumbleweed |
before 0.16.0-2.1 | 0.16.0-2.1 |
liboqsopenSUSE:Leap 16.0 |
before 0.16.0-160000.1.1 | 0.16.0-160000.1.1 |
oqs-provideropenSUSE:Leap 16.0 |
before 0.11.0.32-160000.1.1 | 0.11.0.32-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-46344 is a medium vulnerability (CVSS 5.3) in Open-quantum-safe Liboqs, published May 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 23rd percentile. Fixed in liboqs 0.16.0-160000.1.1.
References
github.com/open-quantum-safe/liboqs/security/advisories/GHSA-2wxh-55qf-c7wg
github.com/open-quantum-safe/liboqs/commit/077e32a94f39af02209dbbc680bf8a43b774b305
github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46344.json
nvd.nist.gov/vuln/detail/CVE-2026-46344
suse.com/support/update/announcement/2026/suse-su-202623313-1
bugzilla.suse.com/1215751
Show 12 moreShow less
bugzilla.suse.com/1246301
bugzilla.suse.com/1267001
bugzilla.suse.com/1267007
suse.com/security/cve/CVE-2025-52473
suse.com/security/cve/CVE-2026-44518
suse.com/security/cve/CVE-2026-46344
suse.com/support/update/announcement/2026/suse-su-20263420-1
bugzilla.suse.com/1101107
bugzilla.suse.com/1242701
bugzilla.suse.com/1244617
bugzilla.suse.com/1245315
bugzilla.suse.com/1249081
Left out here: the rest of 3 source descriptions. The JSON record has them.