Vulnerabilities

Vulnerability · CVE-2026-118775

Forge: ASN.1 OID first arc truncation in asn1.oidToDer

Published Oct 30, 2026 · catalog updated Oct 30, 2026 · Forge: ASN.1 OID first

Last checked Nov 6, 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-118775. EPSS is 0.31%. Act only if a listed version of Forge: ASN.1 OID first 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: ASN.1 OID first).
  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
Severity
Low3.7
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
0.31%
Remediation
Version ranges on file
Affected products
npm node-forge

### Summary did not range-check the first two arcs of an OID string, so an OID such as or was encoded as the DER of a different OID (here rsaEncryption, ). This is an incomplete fix of CVE-2025-66030. Fixed in node-forge 1.4.1. ### Details X.690 section 8.19 encodes the first two arcs of an OID as one subidentifier, , where the first arc is 0, 1 or 2 and the second arc is at most 39 when the first is 0 or 1. in computed that value with no range check and wrote it with , which keeps only the low 16 bits. Out-of-range first arcs therefore produced the encoding of a different OID: gives and wraps to 42, both the first byte of rsaEncryption. The fix for CVE-2025-66030 (GHSA-65ch-62r8-g69g, node-forge 1.3.2) added a 32-bit check for the later arcs only. A related encoding bug made valid OIDs with a first subidentifier above 127 ( and higher, e.g. ) encode and decode incorrectly, because the first subidentifier was always written and read as a single byte. The fix rejects out-of-range first arcs and encodes and decodes the first subidentifier in base 128 like the others (the latter from public PR #1148). ### Patches Fixed in node-forge 1.4.1. throws for OIDs with out-of-range first arcs, and the first subidentifier is encoded and decoded correctly. ### Workarounds Validate OID strings from untrusted input before passing them to node-forge: the first arc must be 0, 1 or 2, and the second arc at most 39 when the first arc is 0 or 1. ### Credits Reported by wzc. The first subidentifier encoding fix is from PR #1148 by @spokodev. ### Proof of concept var forge = require('node-forge'); var der = forge.asn1.oidToDer('0.42.840.113549.1.1.1'); console.log(der.toHex()); // 2a864886f70d010101 console.log(forge.asn1.derToOid(der)); // 1.2.840.113549.1.1.1 On 1.4.0 the out-of-range OID string encodes to exactly the DER of rsaEncryption (the same happens with ). On 1.4.1 throws "Invalid OID; the first two arcs are out of range.". Regression tests are in tests/unit/asn1.js ("should rej

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-118775

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-118775. EPSS is 0.31%. Act only if a listed version of Forge: ASN.1 OID first 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-190: Integer Overflow. EPSS 0.31%. 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.

  1. Oct 30, 2026 · GitHub Advisory Database

    Detected

    ### Summary did not range-check the first two arcs of an OID string, so an OID such as or was encoded as the DER of a different OID (here rsaEncryption, ). This is an incomplete fix of CVE-2025-66030. Fixed in node-forge 1.4.1. ### Details X.690 section 8.19 encodes the first two arcs of an OID as one subidentifier, , where the first arc is 0, 1 or 2 and the second arc is at most 39 when the first

  2. Oct 30, 2026 · GitHub Advisory Database

    Updated

    ### Summary did not range-check the first two arcs of an OID string, so an OID such as or was encoded as the DER of a different OID (here rsaEncryption, ). This is an incomplete fix of CVE-2025-66030. Fixed in node-forge 1.4.1. ### Details X.690 section 8.19 encodes the first two arcs of an OID as one subidentifier, , where the first arc is 0, 1 or 2 and the second arc is at most 39 when the first

Sources

  • CVE.orgVulnerability recordCVE-2026-118775

    Official CVE identifier

    cve.org
  • FIRST EPSSExploitation probabilityCVE-2026-118775

    30-day exploitation probability 0.31%

    first.org
  • GitHub Advisory DatabasePackage advisoryGHSA-4642-5mcj-2rqw

    Forge: ASN.1 OID first arc truncation in asn1.oidToDer

    github.com
  • GitLab Advisory DatabasePackage advisoryCVE-2026-118775

    asn1.oidToDer() did not range-check the first two arcs of an OID string, so an OID such as 0.42.840.113549.1.1.1 or 4294977127.18.840.113549.1.1.1 was encoded as the DER of a different OID (here rsaEncryption, 1.2.840.113549.1.1.1). This is an incomplete fix of CVE-2025-66030. Fixed in node-forge 1.4.1.

    advisories.gitlab.com

References

Freshness

Last verified in this catalog Nov 5, 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 6, 2026
  • FIRST EPSSNov 5, 2026
  • GitLab Advisory DatabaseNov 3, 2026
  • CVE.orgOct 31, 2026