Description
liboqs is a C-language cryptographic library that provides implementations of post-quantum cryptography algorithms. Prior to 0.16.0, the ct_select function in src/kem/frodokem/external/util.c for the FrodoKEM-640, FrodoKEM-976, and FrodoKEM-1344 AES and SHAKE reference variants lacks a value barrier in the Fujisaki-Okamoto implicit-rejection path. When compiled with Clang 17 or later at an affected optimization level such as -Os, the compiler can emit a secret-dependent conditional load, causing the real and rejection secret paths to leave distinguishable cache residency after successful and failed decapsulation. A local attacker able to perform repeated cache-timing measurements may use this oracle as part of a private-key recovery attack. Default -O3 builds vectorize both source loads and do not exhibit the reported behavior, and the advisory does not report the same generated memory-access pattern in NTRU, NTRU-Prime, BIKE, HQC, Classic McEliece, Kyber, or the already-barriered ML-KEM implementation. This issue is fixed in version 0.16.0.
Published: 2026-11-06
Score: 5.1 Medium
EPSS: n/a
KEV: No
Impact: Cache side‑channel enabling private‑key recovery
Action: Apply patch
AI Analysis

Impact

The vulnerability originates from a missing value barrier in the Fujisaki‑Okamoto implicit‑rejection path for several FrodoKEM variants within the liboqs library. When built with Clang 17 or later and an optimization level such as –Os, a secret‑dependent conditional load is emitted, leaving the real and rejection key paths with distinguishable cache residency patterns. This allows a local attacker who can perform repeated cache‑timing measurements to observe cache behavior differences and use the resulting oracle to recover the private key. The weakness is a timing side‑channel stemming from improper constant‑time handling of confidential data, classified under CWE‑385.

Affected Systems

The flaw affects the open‑quantum‑safe liboqs library, versions prior to 0.16.0, when compiled with Clang 17+ at optimization levels such as –Os. The issue is present for the FrodoKEM‑640, FrodoKEM‑976 and FrodoKEM‑1344 AES and SHAKE reference variants; other algorithms in the library are not impacted by the same memory‑access pattern.

Risk and Exploitability

The CVSS score of 5.1 indicates medium severity. No EPSS data is available, but the vulnerability is not listed in the CISA KEV catalog, suggesting no known active exploitation. Exploitation requires a local attacker with the ability to perform precise cache‑timing measurements and a build of liboqs compiled with the vulnerable settings. The attack is therefore limited to local contexts and specialized environments, though it can lead to complete private‑key compromise if successfully carried out.

Generated by OpenCVE AI on November 6, 2026 at 22:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade liboqs to version 0.16.0 or later to apply the fixed value barrier.
  • Rebuild the library with an optimization level that does not trigger the problematic pattern—for example, use -O3—or revert to a compiler version older than Clang 17.
  • If an immediate upgrade is not feasible, isolate the decryption functions in a trusted runtime or employ hardware‑based protection to restrict local access to the key material, thereby limiting the effectiveness of cache‑timing attacks.

Generated by OpenCVE AI on November 6, 2026 at 22:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Open Quantum Safe
Open Quantum Safe liboqs
Vendors & Products Open Quantum Safe
Open Quantum Safe liboqs

Fri, 06 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
Description liboqs is a C-language cryptographic library that provides implementations of post-quantum cryptography algorithms. Prior to 0.16.0, the ct_select function in src/kem/frodokem/external/util.c for the FrodoKEM-640, FrodoKEM-976, and FrodoKEM-1344 AES and SHAKE reference variants lacks a value barrier in the Fujisaki-Okamoto implicit-rejection path. When compiled with Clang 17 or later at an affected optimization level such as -Os, the compiler can emit a secret-dependent conditional load, causing the real and rejection secret paths to leave distinguishable cache residency after successful and failed decapsulation. A local attacker able to perform repeated cache-timing measurements may use this oracle as part of a private-key recovery attack. Default -O3 builds vectorize both source loads and do not exhibit the reported behavior, and the advisory does not report the same generated memory-access pattern in NTRU, NTRU-Prime, BIKE, HQC, Classic McEliece, Kyber, or the already-barriered ML-KEM implementation. This issue is fixed in version 0.16.0.
Title liboqs: Missing value barrier in FO implicit rejection path (FrodoKEM, NTRU, and others)
Weaknesses CWE-385
References
Metrics cvssV3_1

{'score': 5.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Open Quantum Safe Liboqs
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-06T21:22:27.624Z

Reserved: 2026-05-06T18:28:20.888Z

Link: CVE-2026-44519

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-06T22:17:51.403

Modified: 2026-11-06T22:17:51.403

Link: CVE-2026-44519

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-06T23:00:11Z

Weaknesses