Security fix · CVE-2026-118778
Forge: TLS client crash when the server sends no certificate
Published Oct 30, 2026 · catalog updated Oct 30, 2026 · Forge: TLS client crash
Last checked Nov 4, 2026. A connected source was read within the last 7 days.
Check if you run it
No confirmed exploitation is on record for CVE-2026-118778. EPSS is 0.20%. Act only if a listed version of Forge: TLS client crash is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Forge: TLS client crash).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- Medium5.9
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.20%
- Remediation
- Version ranges on file
- Affected products
- npm node-forge
### Summary The forge TLS client's check for a missing server certificate read the wrong property and never ran. A malicious TLS server, or an on-path attacker who removes the server's Certificate message, can make throw a , which crashes applications that use the forge TLS client. Fixed in node-forge 1.4.1. ### Details After ServerHelloDone, in is meant to reject a server that sent no certificate with a fatal alert, after consulting the application's callback. The check tested , which is never set (the certificate is stored as ), so it never ran. The client state machine allows ServerHelloDone directly after ServerHello, so the handshake continued to , which reads and throws a on the null certificate. The exception propagates out of without calling the or callbacks. There is no authentication bypass: without a server certificate the client cannot build its RSA key exchange, so the handshake cannot complete. The fix reads and always fails the handshake in that case, still calling so the application can customize the alert. Failing even when returns is needed because the key exchange requires the certificate. #### Patches Fixed in node-forge 1.4.1. The TLS client fails the handshake with an alert when the server sends no certificate. #### Workarounds Catch exceptions thrown by in the code that feeds it network data, and close the connection when one occurs. #### Credits Reported by @arpitjain099. ### Proof of concept Connect a forge TLS client ( ) to a server whose first flight contains ServerHello and ServerHelloDone but no Certificate message. For example, run a forge TLS server and remove the Certificate handshake message (type 11) from its first flight before passing it to the client's . On 1.4.0 the client's throws "TypeError: Cannot read properties of null (reading 'publicKey')", and the and callbacks are not called. On 1.4.1 the client calls with and no certificates, calls with "No server certificate provided. Not enough security.", sends a fatal alert and clo
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- npm node-forge<= 1.4.0
How to fix CVE-2026-118778
Upgrade
CVE-2026-118778 lists a fix boundary at 1.4.0. Compare the installed build with that boundary before you change production.
Version check
Affected <= 1.4.0
Advisory
Open the cve_org record and follow its fix.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-118778. EPSS is 0.20%. Act only if a listed version of Forge: TLS client crash is installed.
Which versions are affected?
Compare what you have installed with <= 1.4.0. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-476: NULL Pointer Dereference. EPSS 0.20%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 30, 2026 · GitHub Advisory Database
Detected
### Summary The forge TLS client's check for a missing server certificate read the wrong property and never ran. A malicious TLS server, or an on-path attacker who removes the server's Certificate message, can make throw a , which crashes applications that use the forge TLS client. Fixed in node-forge 1.4.1. ### Details After ServerHelloDone, in is meant to reject a server that sent no certificate
Oct 30, 2026 · GitHub Advisory Database
Updated
### Summary The forge TLS client's check for a missing server certificate read the wrong property and never ran. A malicious TLS server, or an on-path attacker who removes the server's Certificate message, can make throw a , which crashes applications that use the forge TLS client. Fixed in node-forge 1.4.1. ### Details After ServerHelloDone, in is meant to reject a server that sent no certificate
Sources
- CVE.orgVulnerability recordCVE-2026-118778
Official CVE identifier
cve.org - GitHub Advisory DatabasePackage advisoryGHSA-525v-9gp9-w22h
Forge: TLS client crash when the server sends no certificate
github.com - GitLab Advisory DatabasePackage advisoryCVE-2026-118778
The forge TLS client's check for a missing server certificate read the wrong property and never ran. A malicious TLS server, or an on-path attacker who removes the server's Certificate message, can make connection.process() throw a TypeError, which crashes applications that use the forge TLS client. Fixed in node-forge 1.4.1.
advisories.gitlab.com
References
Freshness
Last verified in this catalog Nov 3, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.
- GitHub Advisory DatabaseNov 4, 2026
- GitLab Advisory DatabaseNov 3, 2026
- CVE.orgOct 31, 2026