{"id":"CVE-2026-47738","kind":"vulnerability","aliases":["CVE-2026-47738"],"related":[],"title":"liboqs: calling derandomized encapsulation on some NTRU KEMs can crash the process","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.","summary":"liboqs is a C post-quantum cryptography library. Before 0.16.0, calling OQS_KEM_encaps_derand on six NTRU KEMs dereferences an uninitialized function pointer, which an attacker can use to crash the calling process.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["c","liboqs","package","post-quantum"],"not_affected_if":["no-derandomized-encapsulation","no-ntru-kem"],"how_to_check":"- Check the liboqs version your application links against, for example `liboqs` in your package manager or `OQS_VERSION_TEXT` in `oqs/oqs.h`.\n- Search your code for calls to `OQS_KEM_encaps_derand` and for instantiation of `OQS_KEM_ntru_hps2048509`, `OQS_KEM_ntru_hps2048677`, `OQS_KEM_ntru_hps4096821`, `OQS_KEM_ntru_hps40961229`, `OQS_KEM_ntru_hrss701` or `OQS_KEM_ntru_hrss1373`.","fix":"- liboqs: `0.16.0`","status":"open","published_at":"2026-11-06T22:17:51+00:00","first_seen_at":"2026-11-06T22:44:32+00:00","triaged_at":"2026-11-06T22:44:51+00:00","updated_at":"2026-11-06T22:44:51+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-06T22:44:51Z","model":"claude-haiku-5-5","output":{"fix":"- liboqs: `0.16.0`","reach":"unknown","title":"liboqs: calling derandomized encapsulation on some NTRU KEMs can crash the process","impact":"low","summary":"liboqs is a C post-quantum cryptography library. Before 0.16.0, calling OQS_KEM_encaps_derand on six NTRU KEMs dereferences an uninitialized function pointer, which an attacker can use to crash the calling process.","audience":"developers","category":"package","nicknames":[],"who_cares":["liboqs","post-quantum","c"],"confidence":0.8,"fix_status":"available","needs_auth":"unknown","worst_case":"calling process crashes, denial of service only","analyst_note":"","how_to_check":"- Check the liboqs version your application links against, for example `liboqs` in your package manager or `OQS_VERSION_TEXT` in `oqs/oqs.h`.\n- Search your code for calls to `OQS_KEM_encaps_derand` and for instantiation of `OQS_KEM_ntru_hps2048509`, `OQS_KEM_ntru_hps2048677`, `OQS_KEM_ntru_hps4096821`, `OQS_KEM_ntru_hps40961229`, `OQS_KEM_ntru_hrss701` or `OQS_KEM_ntru_hrss1373`.","plain_action":"","needs_analyst":false,"not_affected_if":["no-ntru-kem","no-derandomized-encapsulation"],"who_is_affected":"Only applications that create one of the six NTRU KEM objects and call OQS_KEM_encaps_derand on it are exposed. The supported impact is a crash of the calling process, so services that never use derandomized encapsulation with these schemes can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000775,"input_tokens":4524,"output_tokens":646,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-1229':114C '-2026':14A,17A '-47738':15A,18A '-509':99C '-677':104C '-821':109C '0.16.0':35B,79C,213C '1373':123C '2048':98C,103C '4096':108C,113C '701':118C 'affect':125C,175C 'algorithm':76C 'alloc':145C 'applic':173C 'attack':52B 'c':19B,28B,64C 'c-languag':63C 'call':2A,36B,58B,93C,166C,200C 'calling-process':199C 'check':154C 'constructor':127C 'crash':10A,56B,202C 'cryptograph':66C 'cryptographi':32B,75C 'cve':13A,16A 'denial':204C 'derand':40B,83C,89C,131C,191C 'derandom':3A,139C 'derefer':45B,85C 'encap':39B,82C,88C,190C 'encapsul':4A,140C 'fix':210C 'function':48B,90C 'heap':170C 'hps':97C,102C,107C,112C 'hrss':117C,122C 'impact':196C 'implement':70C 'initi':148C 'instanti':179C 'invok':187C 'issu':208C 'kem':8A,38B,44B,81C,142C,159C,185C,189C 'languag':65C 'liboq':1A,20B,25B,60C 'librari':33B,67C 'member':132C 'non':163C 'non-nul':162C 'ntru':7A,43B,96C,101C,106C,111C,116C,121C,126C,184C 'ntru-hp':95C,100C,105C,110C 'ntru-hrss':115C,120C 'null':164C 'object':143C 'omit':128C 'one':180C 'oq':37B,80C,141C,158C,188C 'oqs_kem.encaps':130C 'packag':21B 'pointer':49B,91C,160C 'post':23B,30B,73C 'post-quantum':22B,29B,72C 'prior':77C 'process':12A,59B,201C 'provid':69C 'quantum':24B,31B,74C 'residu':169C 'scheme':135C 'servic':206C 'six':42B,183C 'src/kem/kem.c':153C 'support':138C,195C 'uniniti':47B,87C 'use':54B 'valu':171C 'version':212C 'without':146C 'wrapper':151C 'zero':147C","nicknames":[],"mitigations":[],"who_affected":"Only applications that create one of the six NTRU KEM objects and call OQS_KEM_encaps_derand on it are exposed. The supported impact is a crash of the calling process, so services that never use derandomized encapsulation with these schemes can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["c","liboqs","medium","package","postquantum"],"campaign_type":null,"search_a":"'-2026':14A,17A '-47738':15A,18A 'call':2A 'crash':10A 'cve':13A,16A 'derandom':3A 'encapsul':4A 'kem':8A 'liboq':1A 'ntru':7A 'process':12A","search_b":"'0.16.0':35B 'attack':52B 'c':19B,28B 'call':36B,58B 'crash':56B 'cryptographi':32B 'derand':40B 'derefer':45B 'encap':39B 'function':48B 'kem':38B,44B 'liboq':20B,25B 'librari':33B 'ntru':43B 'oq':37B 'packag':21B 'pointer':49B 'post':23B,30B 'post-quantum':22B,29B 'process':59B 'quantum':24B,31B 'six':42B 'uniniti':47B 'use':54B","search_c":"'-1229':114C '-509':99C '-677':104C '-821':109C '0.16.0':79C,213C '1373':123C '2048':98C,103C '4096':108C,113C '701':118C 'affect':125C,175C 'algorithm':76C 'alloc':145C 'applic':173C 'c':64C 'c-languag':63C 'call':93C,166C,200C 'calling-process':199C 'check':154C 'constructor':127C 'crash':202C 'cryptograph':66C 'cryptographi':75C 'denial':204C 'derand':83C,89C,131C,191C 'derandom':139C 'derefer':85C 'encap':82C,88C,190C 'encapsul':140C 'fix':210C 'function':90C 'heap':170C 'hps':97C,102C,107C,112C 'hrss':117C,122C 'impact':196C 'implement':70C 'initi':148C 'instanti':179C 'invok':187C 'issu':208C 'kem':81C,142C,159C,185C,189C 'languag':65C 'liboq':60C 'librari':67C 'member':132C 'non':163C 'non-nul':162C 'ntru':96C,101C,106C,111C,116C,121C,126C,184C 'ntru-hp':95C,100C,105C,110C 'ntru-hrss':115C,120C 'null':164C 'object':143C 'omit':128C 'one':180C 'oq':80C,141C,158C,188C 'oqs_kem.encaps':130C 'pointer':91C,160C 'post':73C 'post-quantum':72C 'prior':77C 'process':201C 'provid':69C 'quantum':74C 'residu':169C 'scheme':135C 'servic':206C 'six':183C 'src/kem/kem.c':153C 'support':138C,195C 'uniniti':87C 'valu':171C 'version':212C 'without':146C 'wrapper':151C 'zero':147C","first_public_at":"2026-11-02T15:02:59+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-47738","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47738","severity":null,"published_at":"2026-11-06T22:17:51+00:00","modified_at":"2026-11-06T22:17:51+00:00","first_seen_at":"2026-11-06T22:44:32+00:00","fetched_at":"2026-11-06T22:44:32+00:00","note":null}],"documents":[{"id":90744,"url":"https://github.com/open-quantum-safe/liboqs/commit/80ceff0207658eba98bae8eb22ca3aa2a364f40b","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":90742,"url":"https://github.com/open-quantum-safe/liboqs/releases/tag/0.16.0","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":90746,"url":"https://github.com/open-quantum-safe/liboqs/security/advisories/GHSA-jr5q-r9qx-v738","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-11-02T15:02:59+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}