Executive brief
liboqs is a cryptographic library used to implement post-quantum security algorithms. A flaw in how it verifies digital signatures could allow an attacker to provide a specially crafted, shorter-than-expected signature that causes the software to read beyond its assigned memory. In practice, this would likely result in a service crash (denial of service), though it does not appear to leak sensitive data or allow unauthorized access.
Technical details
An out-of-bounds read exists in the XMSS and XMSS^MT stateful signature verification implementations within liboqs. The vulnerability occurs because the internal function `xmssmt_core_sign_open` discards the caller-supplied signature length and instead uses a fixed length defined by the algorithm's parameter set to index the signature buffer. If a caller provides a buffer shorter than the expected signature size, the library reads adjacent memory during internal hash computations. While the out-of-bounds data is not returned to the caller (preventing information leakage), the read can trigger a segmentation fault if it crosses into unmapped memory pages, leading to a denial of service. The issue is fixed in version 0.16.0 by adding explicit length validation at the verification entry points.
Affected products
- open-quantum-safe liboqs < 0.16.0
Timeline
- 2026-04-23: patched: Fix committed to main branch
- 2026-05-11: advisory: GitHub Security Advisory published
- 2026-05-29: disclosed: CVE published to NVD