CVE-2025-66031
High · 7.5node-forge has ASN.1 Unbounded Recursion
CVSS
7.5
EPSS
0.4%
Published
Nov 26, 2025
CISA due date
—
Cloudanix analysis
A specially crafted cryptographic file or certificate can cause affected applications to crash and become unavailable.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This vulnerability is an uncontrolled recursion flaw in node-forge 1.3.1 and earlier when parsing ASN.1 DER data. A remote, unauthenticated attacker can supply a deliberately deep or highly nested ASN.1 structure to code paths that call node-forge DER/ASN.1 parsing routines. Because the parser recurses without an effective depth limit, the JavaScript runtime can exhaust the call stack, throwing stack overflow errors and potentially terminating the request handler, worker process, or service instance. The impact is denial of service rather than data theft or code execution.
Why it matters to the business
Applications, APIs, gateways, identity services, certificate-processing workflows, or other systems that parse untrusted certificates, keys, signatures, PKCS structures, or DER-encoded data with vulnerable node-forge versions may be remotely crashed or degraded. This can cause service outages, failed authentication or enrollment flows, increased error rates, autoscaling churn, and operational disruption. The vulnerability is not currently in the CISA KEV catalog, is not known to be used in ransomware campaigns, and has a low EPSS score, but the CVSS severity is high for availability and the issue has been public for 257 days, so exposed parsing endpoints should still be remediated promptly.
How an attack unfolds
An attacker first identifies an application feature that accepts ASN.1 DER or DER-derived inputs, such as uploaded certificates, signed objects, cryptographic messages, keys, S/MIME or PKCS data, or protocol fields later processed by node-forge. The attacker crafts a DER payload containing deeply nested ASN.1 elements. When the application passes that untrusted input into vulnerable node-forge parsing logic, the parser recursively descends through the nested structure until the JavaScript call stack is exhausted. The resulting RangeError or stack overflow can crash the active request, terminate a Node.js worker, restart a container, or make the service repeatedly unavailable if the attacker sends the payload at scale.
How to fix it
Upgrade node-forge to a fixed version that includes the recursion-depth protection for ASN.1 DER parsing. For source deployments tracking digitalbazaar/forge, update to commit 235ad3e70e4fdfdca4fdeb662dfba6588e2c38bd or a later release containing that fix. For Chainguard or Wolfi overmind packages, upgrade to 2.5.1-r4 or later. Rebuild and redeploy all applications and container images that vendor or transitively include node-forge 1.3.1 or below. If immediate patching is not possible, reduce exposure by rejecting untrusted DER/ASN.1 inputs where they are not required, enforcing strict request body size and parsing time limits, isolating parsing in disposable worker processes, rate-limiting unauthenticated upload or certificate-submission endpoints, and adding application-level maximum ASN.1 nesting-depth validation before invoking node-forge.
How to confirm the fix worked
Confirm package inventories, lockfiles, SBOMs, and container image scans no longer show node-forge or forge versions 1.3.1 or earlier. For Chainguard and Wolfi overmind packages, verify installed package version 2.5.1-r4 or later. For Git-sourced digitalbazaar/forge builds, verify the deployed revision includes commit 235ad3e70e4fdfdca4fdeb662dfba6588e2c38bd or later. Rebuild from clean dependency caches and redeploy to ensure stale vulnerable modules are not still packaged. Functionally test DER/ASN.1 parsing with valid certificates and with a safely generated deeply nested DER test case in a non-production environment; the patched implementation should reject the input or fail gracefully without process termination, stack exhaustion, or prolonged resource consumption. Monitor post-deployment error rates, process restarts, and health checks for regression.
Typical attack path
- Identify internet-facing or remotely reachable functionality that accepts certificates, keys, signatures, PKCS objects, DER blobs, or other ASN.1-encoded input.
- Confirm or infer that the target application uses node-forge 1.3.1 or earlier, or a downstream package/container image that bundles the vulnerable parser.
- Generate a malformed but syntactically plausible DER payload with excessive ASN.1 nesting depth.
- Submit the crafted payload to the vulnerable endpoint or workflow without authentication if the input surface is public.
- Trigger recursive ASN.1 parsing in node-forge until the JavaScript runtime exhausts the call stack.
- Repeat requests to cause sustained worker crashes, elevated 5xx responses, request timeouts, container restarts, or service unavailability.
How to detect it
To determine whether exploitation has already occurred, review application logs, Node.js process logs, container runtime events, process supervisor logs, APM traces, reverse proxy logs, WAF/API-gateway logs, and orchestrator events for crashes or repeated failures during certificate, key, signature, PKCS, or DER parsing. Look for RangeError stack overflow messages, repeated references to node-forge ASN.1 parsing functions, abrupt worker exits, container restarts, health-check failures, and bursts of HTTP 500/502/503/504 responses following requests with binary upload bodies or certificate-like payloads. Correlate suspicious events by source IP, user agent, endpoint path, request size, content type, and timing. Since the issue causes denial of service and not persistent compromise, durable host artifacts are unlikely; the strongest evidence is a temporal pattern of malformed ASN.1 input followed by JavaScript stack exhaustion or service restarts. If request body capture is available, inspect suspicious payloads for DER/ASN.1 tag sequences with unusually deep nesting. Also check package telemetry and crash reporting systems for errors originating from forge.asn1.fromDer or related node-forge ASN.1 decoding routines.
- RangeError: Maximum call stack size exceeded
- Maximum call stack size exceeded
- RangeError: Call stack size exceeded
- stack overflow
- forge.asn1.fromDer
- asn1.fromDer
- node-forge/lib/asn1.js
- node_modules/node-forge/lib/asn1.js
- Too much recursion
- Worker exited unexpectedly
- process exited with code 1
- CrashLoopBackOff
- OOMKilled
- HTTP 500
- HTTP 502
- HTTP 503
- HTTP 504
What your security team should do
- Prioritize remediation for internet-facing services, public APIs, identity/certificate enrollment flows, upload handlers, and any unauthenticated feature that parses certificates, keys, signatures, PKCS data, or DER-encoded content.
- Search dependency manifests, lockfiles, SBOMs, and container images for node-forge or forge versions 1.3.1 and below, including transitive dependencies bundled by downstream applications.
- Upgrade affected Chainguard and Wolfi overmind packages to 2.5.1-r4 or later and update Git-sourced digitalbazaar/forge to commit 235ad3e70e4fdfdca4fdeb662dfba6588e2c38bd or later.
- Add compensating controls while patching: request size limits, rate limits, unauthenticated endpoint throttling, parser isolation, process supervision, and WAF/API-gateway rules for anomalous certificate or DER upload abuse.
- Review historical logs for stack overflow errors, ASN.1 parsing exceptions, sudden 5xx spikes, worker crashes, and container restarts correlated with requests carrying certificate, key, or DER-like payloads.
- Because public exploitation maturity is currently listed as none and EPSS is low, use exposure-based prioritization rather than emergency ransomware response, but do not defer remediation for remotely reachable parsers.
The record
An Uncontrolled Recursion (CWE-674) vulnerability in node-forge versions 1.3.1 and below enables remote, unauthenticated attackers to craft deep ASN.1 structures that trigger unbounded recursive parsing. This leads to a Denial-of-Service (DoS) via stack exhaustion when parsing untrusted DER inputs.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | node-forge | 0 | 1.3.2 |
| Chainguard | argo-workflow-cli-3.6 | 0 | 3.6.13-r2 |
| Chainguard | argo-workflow-cli-3.7 | 0 | 3.7.4-r2 |
| Chainguard | argo-workflow-controller-3.6 | 0 | 3.6.13-r2 |
| Chainguard | argo-workflow-controller-3.6-compat | 0 | 3.6.13-r2 |
| Chainguard | argo-workflow-controller-3.7 | 0 | 3.7.4-r2 |
| Chainguard | argo-workflow-controller-3.7-compat | 0 | 3.7.4-r2 |
| Chainguard | argo-workflow-executor-3.6 | 0 | 3.6.13-r2 |
| Chainguard | argo-workflow-executor-3.6-compat | 0 | 3.6.13-r2 |
| Chainguard | argo-workflow-executor-3.7 | 0 | 3.7.4-r2 |
| Chainguard | argo-workflow-executor-3.7-compat | 0 | 3.7.4-r2 |
| Chainguard | argo-workflows-3.6 | 0 | 3.6.13-r2 |
| Chainguard | argo-workflows-3.7 | 0 | 3.7.4-r2 |
| Chainguard | argo-workflows-known-hosts-3.6 | 0 | 3.6.13-r2 |
| Chainguard | argo-workflows-known-hosts-3.7 | 0 | 3.7.4-r2 |
| Chainguard | argo-workflows-ui-3.6 | 0 | 3.6.13-r2 |
| Chainguard | argo-workflows-ui-3.7 | 0 | 3.7.4-r2 |
| Chainguard | jitsucom-jitsu | 0 | 2.11.0-r8 |
| Chainguard | jitsucom-jitsu-console | 0 | 2.11.0-r8 |
| Chainguard | jitsucom-jitsu-rotor | 0 | 2.11.0-r8 |
| Chainguard | kibana-7 | 0 | 7.17.29-r7 |
| Chainguard | kibana-7-bitnami | 0 | 7.17.29-r7 |
| Chainguard | kibana-8.17 | 0 | 8.17.10-r4 |
| Chainguard | kibana-8.17-bitnami | 0 | 8.17.10-r4 |
| Chainguard | kibana-8.17-iamguarded | 0 | 8.17.10-r4 |
| Chainguard | kibana-8.18 | 0 | 8.18.8-r3 |
| Chainguard | kibana-8.18-bitnami | 0 | 8.18.8-r3 |
| Chainguard | kibana-8.18-iamguarded | 0 | 8.18.8-r3 |
| Chainguard | kibana-8.19 | 0 | 8.19.7-r2 |
| Chainguard | kibana-8.19-bitnami | 0 | 8.19.7-r2 |
| Chainguard | kibana-8.19-iamguarded | 0 | 8.19.7-r2 |
| Chainguard | kibana-9.0 | 0 | 9.0.8-r3 |
| Chainguard | kibana-9.0-bitnami | 0 | 9.0.8-r3 |
| Chainguard | kibana-9.0-iamguarded | 0 | 9.0.8-r3 |
| Chainguard | kibana-9.1 | 0 | 9.1.7-r2 |
| Chainguard | kibana-9.1-bitnami | 0 | 9.1.7-r2 |
| Chainguard | kibana-9.1-iamguarded | 0 | 9.1.7-r2 |
| Chainguard | kibana-9.2 | 0 | 9.2.1-r2 |
| Chainguard | kibana-9.2-iamguarded | 0 | 9.2.1-r2 |
| Chainguard | kubeflow-centraldashboard | 0 | 1.10.0-r6 |
| Chainguard | kubeflow-pipelines | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-apiserver | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-cache-deployer | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-cache-deployer-compat | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-cache_server | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-frontend | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-metadata-envoy-config | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-metadata-writer | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-metadata-writer-compat | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-persistence_agent | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-scheduledworkflow | 0 | 2.15.0-r0 |
| Chainguard | kubeflow-pipelines-viewer-crd-controller | 0 | 2.15.0-r0 |
| Chainguard | opensearch-dashboards-2 | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-alerting-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-anomaly-detection-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-compat | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-config | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-dashboards-maps | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-dashboards-notifications | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-dashboards-observability | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-dashboards-query-workbench | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-dashboards-reporting | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-dashboards-search-relevance | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-dashboards-visualizations | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-alerting-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-anomaly-detection-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-config | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-dashboards-maps | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-dashboards-notifications | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-dashboards-observability | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-dashboards-query-workbench | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-dashboards-reporting | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-dashboards-search-relevance | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-dashboards-visualizations | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-index-management-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-ml-commons-dashboards | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-security-analytics-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-fips-security-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-index-management-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-ml-commons-dashboards | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-security-analytics-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-2-security-dashboards-plugin | 0 | 2.19.4-r2 |
| Chainguard | opensearch-dashboards-3 | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-alerting-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-anomaly-detection-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-config | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-dashboards-maps | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-dashboards-notifications | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-dashboards-observability | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-dashboards-query-workbench | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-dashboards-reporting | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-dashboards-search-relevance | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-alerting-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-anomaly-detection-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-config | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-dashboards-maps | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-dashboards-notifications | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-dashboards-observability | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-dashboards-query-workbench | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-dashboards-reporting | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-dashboards-search-relevance | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-index-management-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-ml-commons-dashboards | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-security-analytics-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-fips-security-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-index-management-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-ml-commons-dashboards | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-security-analytics-dashboards-plugin | 0 | 3.2.0-r2 |
| Chainguard | opensearch-dashboards-3-security-dashboards-plugin | 0 | 3.2.0-r2 |
| Wolfi | argo-workflow-cli-3.7 | 0 | 3.7.4-r2 |
| Wolfi | argo-workflow-controller-3.7 | 0 | 3.7.4-r2 |
| Wolfi | argo-workflow-controller-3.7-compat | 0 | 3.7.4-r2 |
| Wolfi | argo-workflow-executor-3.7 | 0 | 3.7.4-r2 |
| Wolfi | argo-workflow-executor-3.7-compat | 0 | 3.7.4-r2 |
| Wolfi | argo-workflows-3.7 | 0 | 3.7.4-r2 |
| Wolfi | argo-workflows-known-hosts-3.7 | 0 | 3.7.4-r2 |
| Wolfi | argo-workflows-ui-3.7 | 0 | 3.7.4-r2 |
| Wolfi | jitsucom-jitsu | 0 | 2.11.0-r8 |
| Wolfi | jitsucom-jitsu-console | 0 | 2.11.0-r8 |
| Wolfi | jitsucom-jitsu-rotor | 0 | 2.11.0-r8 |
| Wolfi | kubeflow-centraldashboard | 0 | 1.10.0-r6 |
| Wolfi | kubeflow-pipelines | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-apiserver | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-cache-deployer | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-cache-deployer-compat | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-cache_server | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-frontend | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-metadata-envoy-config | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-metadata-writer | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-metadata-writer-compat | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-persistence_agent | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-scheduledworkflow | 0 | 2.15.0-r0 |
| Wolfi | kubeflow-pipelines-viewer-crd-controller | 0 | 2.15.0-r0 |
| Wolfi | opensearch-dashboards-2 | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-alerting-dashboards-plugin | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-anomaly-detection-dashboards-plugin | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-compat | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-config | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-dashboards-maps | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-dashboards-notifications | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-dashboards-observability | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-dashboards-query-workbench | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-dashboards-reporting | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-dashboards-search-relevance | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-dashboards-visualizations | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-index-management-dashboards-plugin | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-ml-commons-dashboards | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-security-analytics-dashboards-plugin | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-2-security-dashboards-plugin | 0 | 2.19.4-r2 |
| Wolfi | opensearch-dashboards-3 | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-alerting-dashboards-plugin | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-anomaly-detection-dashboards-plugin | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-config | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-dashboards-maps | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-dashboards-notifications | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-dashboards-observability | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-dashboards-query-workbench | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-dashboards-reporting | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-dashboards-search-relevance | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-index-management-dashboards-plugin | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-ml-commons-dashboards | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-security-analytics-dashboards-plugin | 0 | 3.2.0-r2 |
| Wolfi | opensearch-dashboards-3-security-dashboards-plugin | 0 | 3.2.0-r2 |
Related vulnerabilities
- GHSA-554w-wpv2-vw27 node-forge has ASN.1 Unbounded Recursion Same vulnerability
- CVE-2026-33895 Forge (also called `node-forge`) is a native implementation of Transport Layer Security… Also affects node-forge
- CVE-2026-33896 Forge (also called `node-forge`) is a native implementation of Transport Layer Security… Also affects node-forge
- CVE-2026-33894 Forge (also called `node-forge`) is a native implementation of Transport Layer Security… Also affects node-forge
- CVE-2026-33891 Forge (also called `node-forge`) is a native implementation of Transport Layer Security… Also affects node-forge
- GHSA-2328-f5f3-gj25 Forge has a basicConstraints bypass in its certificate chain verification (RFC 5280… Also affects node-forge
- GHSA-q67f-28xg-22rw Forge has signature forgery in Ed25519 due to missing S > L check Also affects node-forge
- GHSA-ppp5-5v6c-4jwp Forge has signature forgery in RSA-PKCS due to ASN.1 extra field Also affects node-forge