Skip to content

Theoretical design flaw in HQC

Low
SWilson4 published GHSA-3rxw-4v8q-9gq5 May 29, 2025

Package

liboqs

Affected versions

<= 0.13.0

Patched versions

None

Description

liboqs is a C-language cryptographic library that provides implementations of post-quantum cryptography algorithms.

Impact

The HQC algorithm has a theoretical design flaw which leads to large numbers of malformed ciphertexts sharing the same implicit rejection value. Currently, no concrete attack on the algorithm is known. However, prospective users of HQC must take extra care when using the algorithm in protocols involving key derivation. In particular, HQC does not provide the same security guarantees as Kyber or ML-KEM.

Patches

There is currently no patch available in liboqs. OQS will update its implementation after the HQC team releases an updated algorithm specification. HQC is disabled by default in liboqs starting from version 0.13.0.

References

The OQS team became aware of this issue via a report from Markku-Juhani O. Saarinen to the NIST pqc-forum mailing list. The issue had been previously noted and analyzed on the blog of Deirdre Connolly.

Severity

Low

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N

CVE ID

CVE-2025-48946

Weaknesses

No CWEs

Credits