{"id":"VND-nodejs-openssl-fixes-in-regular-releases-jan2026","kind":"vulnerability","aliases":[],"related":["CVE-2025-11187","CVE-2025-15467","CVE-2025-15468","CVE-2025-15469","CVE-2025-66199","CVE-2025-68160","CVE-2025-69418","CVE-2025-69419","CVE-2025-69420","CVE-2025-69421","CVE-2026-22795","CVE-2026-22796"],"title":"Node.js: OpenSSL Security Advisory Assessment, January 2026","description":"Commercial support for versions past the Maintenance LTS phase is available through our OpenJS Ecosystem Sustainability Program partners OpenSSL Security Advisory Assessment, January 2026 TNJP The Node.js Project OpenSSL Security Advisory Assessment, January 2026 Summary\nThe OpenSSL project released a security advisory that includes 12 CVEs.\nAfter assessment, we have concluded that three CVEs affect Node.js (severity Low to Moderate).\nGiven the limited attack surface, the OpenSSL updates will be included in\nupcoming regular Node.js releases rather than dedicated security releases.\nAnalysis\nAll three vulnerabilities relate to how Node.js processes PFX (PKCS#12) certificate files,\nwhich are used when configuring TLS connections via the pfx option.\nAn attacker would need to provide a specially crafted PFX file to trigger any of these issues.\nSince PFX files typically come from trusted local sources (e.g., your own private keys\nand certificates), the attack surface is limited in practice.\nCVE-2025-11187: Stack buffer overflow in PBMAC1 MAC verification - Moderate\nBranch OpenSSL Version Affected v20.x 3.0.15 No v22.x 3.5.4 Yes v24.x 3.5.4 Yes v25.x 3.5.4 Yes main 3.5.4 Yes\nOpenSSL 3.0 (used by v20.x) does not support PBMAC1 and is therefore not affected.\nCVE-2025-69421: NULL pointer dereference in PKCS12_item_decrypt_d2i_ex() - Low\nBranch OpenSSL Version Affected v20.x 3.0.15 Yes v22.x 3.5.4 Yes v24.x 3.5.4 Yes v25.x 3.5.4 Yes main 3.5.4 Yes\nThis function is called internally by PKCS12_parse() . All branches are affected.\nCVE-2026-22795: Type confusion during PKCS#12 parsing - Low\nBranch OpenSSL Version Affected v20.x 3.0.15 Yes v22.x 3.5.4 Yes v24.x 3.5.4 Yes v25.x 3.5.4 Yes main 3.5.4 Yes\nBoth OpenSSL 3.0 and 3.5 are vulnerable. All branches are affected.\nCVEs that do not affect Node.js\nThe following 9 CVEs do not affect Node.js on any branch:\nCVE-2025-15467 (High, CMS AuthEnvelopedData): Node.js does not use CMS APIs.\nCVE-2025-15468 (Low, SSL_CIPHER_find + QUIC): Node.js never calls SSL_CIPHER_find() .\nCVE-2025-15469 (Low, openssl dgst truncation): Command-line tool only.\nCVE-2025-66199 (Low, TLS 1.3 CompressedCertificate): Node.js builds with OPENSSL_NO_COMP on all branches, so certificate compression is disabled.\nCVE-2025-68160 (Low, BIO_f_linebuffer): Node.js does not use this BIO filter.\nCVE-2025-69418 (Low, low-level OCB): Node.js uses the EVP API, which the advisory confirms avoids the vulnerable path.\nCVE-2025-69419 (Low, PKCS12_get_friendlyname): Node.js does not call this function; the advisory notes PKCS12_parse() uses a separate safe path.\nCVE-2025-69420 (Low, TS_RESP_verify_response): Node.js does not use timestamp protocol APIs.\nCVE-2026-22796 (Low, PKCS7_digest_from_attributes): Node.js does not call PKCS#7 signature verification APIs.\nContact and future updates\nThe current Node.js security policy can be found at https://github.com/nodejs/node/security/policy#security ,\nincluding information on how to report a vulnerability in Node.js.\nSubscribe to the low-volume announcement-only nodejs-sec mailing list at\nhttps://groups.google.com/forum/#!forum/nodejs-sec to stay up to date on\nsecurity vulnerabilities and security-related releases of Node.js and the\nprojects maintained in the\nnodejs GitHub organization . Previous Tuesday, March 24, 2026 Security Releases Next Mitigating Denial-of-Service Vulnerability from Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users","summary":"Three OpenSSL flaws in PKCS#12 (PFX) certificate parsing affect Node.js on the v22, v24, v25 and main branches, and some on v20. An attacker who can supply a specially crafted PFX file to a TLS configuration could crash the process or, for CVE-2025-11187, overflow a stack buffer.","severity":"high","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"node","fixed":[],"affected":"","ecosystem":"node"}],"ecosystems":["node"],"tags":["node","node.js","runtime","self-hosted","tls"],"not_affected_if":["no-pfx-input","pem-only-certificates"],"how_to_check":"- Run `node --version` and compare against the fixed release listed in the Node.js advisory.\n- Search the codebase for uses of the `pfx` option in TLS configuration (`tls.createServer`, `https.createServer`, `tls.connect`) and check whether the PFX input can come from untrusted sources.","fix":"- Upgrade Node.js to a release that includes the OpenSSL update named in the Node.js advisory (fixed version unknown from the sources).\n- Until upgraded, only load PFX files from trusted sources.","status":"open","published_at":"2026-01-28T17:00:00+00:00","first_seen_at":"2026-10-23T19:13:00+00:00","triaged_at":"2026-10-25T05:37:30+00:00","updated_at":"2026-10-25T05:37:30+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-25T05:37:30Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Node.js to a release that includes the OpenSSL update named in the Node.js advisory (fixed version unknown from the sources).\n- Until upgraded, only load PFX files from trusted sources.","reach":"network","title":"Node.js: three OpenSSL PFX parsing flaws reachable via crafted certificate files","impact":"medium","summary":"Three OpenSSL flaws in PKCS#12 (PFX) certificate parsing affect Node.js on the v22, v24, v25 and main branches, and some on v20. An attacker who can supply a specially crafted PFX file to a TLS configuration could crash the process or, for CVE-2025-11187, overflow a stack buffer.","category":"runtime","nicknames":[],"who_cares":["node.js","self-hosted","tls"],"confidence":0.6,"needs_auth":"no","worst_case":"Process crashes; stack overflow may allow code execution in certain paths","analyst_note":"Confirm the fixed Node.js release versions for each branch at https://nodejs.org/en/blog/vulnerability/openssl-fixes-in-regular-releases-jan2026 and the CVSS of CVE-2025-11187 in the OpenSSL advisory.","how_to_check":"- Run `node --version` and compare against the fixed release listed in the Node.js advisory.\n- Search the codebase for uses of the `pfx` option in TLS configuration (`tls.createServer`, `https.createServer`, `tls.connect`) and check whether the PFX input can come from untrusted sources.","needs_analyst":true,"not_affected_if":["pem-only-certificates","no-pfx-input"],"who_is_affected":"Applications that load PFX (PKCS#12) certificate bundles through the `pfx` option of Node.js TLS APIs are exposed, most seriously when the file comes from outside the team. Services that only use PEM key and certificate files, or that do not parse PFX input at all, are not affected by these issues. CVE-2025-11187 does not affect Node.js v20 because OpenSSL 3.0 lacks PBMAC1 support.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.000855,"input_tokens":4761,"output_tokens":757,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-11187':70B,223C '-15467':368C '-15468':380C '-15469':394C '-2025':69B,222C,266C,367C,379C,393C,405C,426C,440C,461C,484C '-2026':310C,499C '-22795':311C '-22796':500C '-66199':406C '-68160':427C '-69418':441C '-69419':462C '-69420':485C '-69421':267C '/forum/#!forum/nodejs-sec':558C '/nodejs/node/security/policy#security':530C '1.3':409C '12':30B,119C,167C,316C '2026':7A,98C,108C,587C '24':586C '3.0':252C,340C '3.0.15':237C,283C,324C '3.5':342C '3.5.4':240C,243C,246C,249C,286C,289C,292C,295C,327C,330C,333C,336C '7':511C '9':357C 'advisori':4A,95C,105C,116C,454C,474C 'affect':34B,129C,235C,264C,281C,308C,322C,348C,353C,361C 'analysi':156C 'announc':548C 'announcement-on':547C 'api':377C,451C,497C,514C 'apm':606C 'assess':5A,96C,106C,122C 'attack':49B,138C,182C,215C 'attribut':505C 'authenvelopeddata':371C 'avail':85C 'avoid':456C 'bio':429C,437C 'branch':43B,232C,278C,306C,319C,346C,365C,419C 'buffer':74B,225C 'build':412C 'call':300C,388C,470C,509C 'certif':32B,168C,213C,421C 'cipher':383C,390C 'cms':370C,376C 'come':202C 'command':400C 'command-lin':399C 'commerci':75C 'comp':416C 'compress':422C 'compressedcertif':410C 'conclud':125C 'configur':61B,174C 'confirm':455C 'confus':313C 'connect':176C 'contact':515C 'could':62B 'craft':55B,189C 'crash':63B 'current':520C 'cve':68B,221C,265C,309C,366C,378C,392C,404C,425C,439C,460C,483C,498C 'cves':120C,128C,349C,358C 'd2i':275C 'date':563C 'decrypt':274C 'dedic':153C 'denial':593C 'denial-of-servic':592C 'derefer':270C 'dgst':397C 'digest':503C 'disabl':424C 'e.g':207C 'ecosystem':89C 'evp':450C 'ex':276C 'exhaust':601C 'f':430C 'file':57B,169C,191C,200C 'filter':438C 'find':384C,391C 'fixes':12A 'flaw':27B 'follow':356C 'found':526C 'friendlynam':466C 'function':298C,472C 'futur':517C 'get':465C 'github':581C 'github.com':529C 'github.com/nodejs/node/security/policy#security':528C 'given':135C 'groups.google.com':557C 'groups.google.com/forum/#!forum/nodejs-sec':556C 'high':369C 'host':23B 'in':13A 'includ':118C,145C,531C 'inform':532C 'intern':301C 'issu':197C 'item':273C 'jan2026':16A 'januari':6A,97C,107C 'key':211C 'level':445C 'limit':137C,218C 'line':401C 'linebuff':431C 'list':554C 'local':205C 'low':132C,277C,318C,381C,395C,407C,428C,442C,444C,463C,486C,501C,545C 'low-level':443C 'low-volum':544C 'lts':82C 'mac':229C 'mail':553C 'main':42B,248C,294C,335C 'maintain':577C 'mainten':81C 'march':585C 'mitig':591C 'moder':134C,231C 'need':184C 'never':387C 'next':590C 'next.js':604C 'node':17A,18B 'node.js':1A,19B,35B,101C,130C,149C,163C,354C,362C,372C,386C,411C,432C,447C,467C,491C,506C,521C,540C,573C 'nodej':551C,580C 'nodejs':10A 'nodejs-sec':550C 'note':475C 'null':268C 'ocb':446C 'openj':88C 'openssl':2A,11A,26B,93C,103C,111C,141C,233C,251C,279C,320C,339C,396C,414C 'option':180C 'organ':582C 'overflow':71B,226C 'pars':33B,304C,317C,477C 'partner':92C 'past':79C 'path':459C,482C 'pbmac1':228C,259C 'pfx':31B,56B,165C,179C,190C,199C 'phase':83C 'pkcs':29B,166C,315C,510C 'pkcs12':272C,303C,464C,476C 'pkcs7':502C 'pointer':269C 'polici':523C 'practic':220C 'previous':583C 'privat':210C 'process':65B,164C 'program':91C 'project':102C,112C,576C 'protocol':496C 'provid':186C 'quic':385C 'rather':151C 'react':603C 'regular':14A,148C 'relat':160C,570C 'releas':113C,150C,155C,571C,589C 'releases':15A 'report':536C 'resp':488C 'respons':490C 'runtim':20B 'safe':481C 'sec':552C 'secur':3A,94C,104C,115C,154C,522C,565C,569C,588C 'security-rel':568C 'self':22B 'self-host':21B 'separ':480C 'servic':595C 'sever':131C 'signatur':512C 'sinc':198C 'sourc':206C 'space':600C 'special':54B,188C 'ssl':382C,389C 'stack':73B,224C,599C 'stay':560C 'subscrib':541C 'summari':109C 'suppli':52B 'support':76C,258C 'surfac':139C,216C 'sustain':90C 'therefor':262C 'three':25B,127C,158C 'timestamp':495C 'tls':24B,60B,175C,408C 'tnjp':99C 'tool':402C 'trigger':193C 'truncat':398C 'trust':204C 'ts':487C 'tuesday':584C 'type':312C 'typic':201C 'unrecover':598C 'upcom':147C 'updat':142C,518C 'use':172C,253C,375C,435C,448C,478C,494C 'user':607C 'v20':47B 'v20.x':236C,255C,282C,323C 'v22':38B 'v22.x':239C,285C,326C 'v24':39B 'v24.x':242C,288C,329C 'v25':40B 'v25.x':245C,291C,332C 'verif':230C,513C 'verifi':489C 'version':78C,234C,280C,321C 'via':177C 'vnd':9A 'vnd-nodejs-openssl-fixes-in-regular-releases-jan2026':8A 'volum':546C 'vulner':159C,344C,458C,538C,566C,596C 'would':183C 'yes':241C,244C,247C,250C,284C,287C,290C,293C,296C,325C,328C,331C,334C,337C","nicknames":[],"mitigations":[],"who_affected":"Applications that load PFX (PKCS#12) certificate bundles through the `pfx` option of Node.js TLS APIs are exposed, most seriously when the file comes from outside the team. Services that only use PEM key and certificate files, or that do not parse PFX input at all, are not affected by these issues. CVE-2025-11187 does not affect Node.js v20 because OpenSSL 3.0 lacks PBMAC1 support.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-01-28T17:00:00+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nodejs","external_id":"openssl-fixes-in-regular-releases-jan2026","url":"https://nodejs.org/en/blog/vulnerability/openssl-fixes-in-regular-releases-jan2026","severity":"high","published_at":"2026-01-28T17:00:00+00:00","modified_at":null,"first_seen_at":"2026-10-23T19:13:00+00:00","fetched_at":"2026-10-26T05:49:29+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"}