{"id":"CVE-2026-118778","kind":"vulnerability","aliases":["CVE-2026-118778"],"related":[],"title":"node-forge: TLS client crash when server omits certificate message","description":"Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used forge.tls.createConnection(), c.session.serverCertificate, RSA key exchange to process the relevant input or security decision. node-forge's TLS client checked the wrong property when deciding whether a server certificate was missing. A malicious TLS server or on-path peer could omit the Certificate message and reach code that dereferenced the absent certificate, causing an uncaught exception and terminating the connection or process. This issue is fixed in version 1.4.1.","summary":"node-forge is a JavaScript TLS implementation whose client checked the wrong property for a missing server certificate. A malicious TLS server or on-path peer can omit the Certificate message and crash the connection or the Node process.","severity":"medium","cvss":5.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["javascript","node-forge","nodejs","package"],"not_affected_if":["no-tls-client-use","uses-native-tls"],"how_to_check":"- `npm ls node-forge` to list every installed copy and its version\n- Check for `forge.tls.createConnection` in your code or dependencies that use TLS client mode","fix":"- node-forge: move to `1.4.1` or later","status":"open","published_at":"2026-10-29T19:17:20+00:00","first_seen_at":"2026-10-29T19:26:47+00:00","triaged_at":"2026-10-29T19:27:31+00:00","updated_at":"2026-10-29T19:27:31+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-29T19:27:31Z","model":"claude-haiku-5-5","output":{"fix":"- node-forge: move to `1.4.1` or later","reach":"network","title":"node-forge: TLS client crash when server omits certificate message","impact":"low","summary":"node-forge is a JavaScript TLS implementation whose client checked the wrong property for a missing server certificate. A malicious TLS server or on-path peer can omit the Certificate message and crash the connection or the Node process.","audience":"developers","category":"package","nicknames":[],"who_cares":["node-forge","javascript","nodejs"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"Denial of service: connection or Node process terminates","analyst_note":"","how_to_check":"- `npm ls node-forge` to list every installed copy and its version\n- Check for `forge.tls.createConnection` in your code or dependencies that use TLS client mode","plain_action":"","needs_analyst":false,"not_affected_if":["no-tls-client-use","uses-native-tls"],"who_is_affected":"Applications that use node-forge's TLS client (forge.tls.createConnection) to connect to servers, including through dependencies. Exposure requires connecting to a hostile or attacker-positioned TLS server; applications that only use node-forge for hashing or certificate parsing, or that do not make TLS client connections with it, are not affected by this flaw.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000671,"input_tokens":4219,"output_tokens":498,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-118778':14A,17A '-2026':13A,16A '1.4.1':83C,157C 'absent':139C 'affect':85C 'also':66C 'c.session.servercertificate':89C 'call':67C 'caus':141C 'certif':10A,42B,55B,116C,131C,140C 'check':34B,107C 'client':5A,33B,106C 'code':135C 'connect':60B,148C 'could':128C 'crash':6A,58B 'cve':12A,15A 'decid':112C 'decis':100C 'dereferenc':137C 'except':144C 'exchang':92C 'fix':154C 'forg':3A,21B,26B,65C,70C,103C 'forge.tls.createconnection':88C 'implement':31B,74C,86C 'input':97C 'issu':152C 'javascript':18B,29B,80C 'key':91C 'layer':77C 'malici':44B,120C 'messag':11A,56B,132C 'miss':40B,118C 'nativ':73C 'node':2A,20B,25B,63B,69C,102C 'node-forg':1A,19B,24B,68C,101C 'nodej':22B 'omit':9A,53B,129C 'on-path':48B,124C 'packag':23B 'path':50B,126C 'peer':51B,127C 'prior':81C 'process':64B,94C,150C 'properti':37B,110C 'reach':134C 'relev':96C 'rsa':90C 'secur':78C,99C 'server':8A,41B,46B,115C,122C 'termin':146C 'tls':4A,30B,45B,105C,121C 'transport':76C 'uncaught':143C 'use':87C 'version':156C 'whether':113C 'whose':32B 'wrong':36B,109C","nicknames":[],"mitigations":[],"who_affected":"Applications that use node-forge's TLS client (forge.tls.createConnection) to connect to servers, including through dependencies. Exposure requires connecting to a hostile or attacker-positioned TLS server; applications that only use node-forge for hashing or certificate parsing, or that do not make TLS client connections with it, are not affected by this flaw.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"first_public_at":"2026-10-29T19:17:20+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-118778","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118778","severity":null,"published_at":"2026-10-29T19:17:20+00:00","modified_at":"2026-10-29T19:17:20+00:00","first_seen_at":"2026-10-29T19:26:47+00:00","fetched_at":"2026-10-29T19:26:47+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}