ETK-2026-3431Zero's internal tracking ID, independent of the CVE number.
waiting for further signalsZero needs more public information before it can validate it.description
node-forge certificate-chain validation through version 1.4.2 does not enforce non-critical X.509 name constraints. An attacker with access to a certificate or private key from an affected constrained CA may have certificates accepted for names outside that CA's authorized scope. Applications are affected when they validate chains with node-forge and trust a hierarchy containing such a CA.
mitigation
Upgrade node-forge to version 1.4.3 or later. Until upgraded, reject chains containing CA certificates with a name-constraints extension in the certificate verification callback, and review trust anchors separately.
fixed in 1.4.3
outcome
Contextual, not validated: no deterministic check could cover this one, and no technique passed our review.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-11-04 01:08Zghsa: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/ETK-2026-3431
{ "etk_id": "ETK-2026-3431", "cve_id": null, "display_id": "ETK-2026-3431", "ghsa_id": "GHSA-3cc4-3294-vgjf", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "X.509 name-constraints validation bypass in node-forge", "summary": "node-forge certificate-chain validation through version 1.4.2 does not enforce non-critical X.509 name constraints. An attacker with access to a certificate or private key from an affected constrained CA may have certificates accepted for names outside that CA's authorized scope. Applications are affected when they validate chains with node-forge and trust a hierarchy containing such a CA.", "mitigation": "Upgrade node-forge to version 1.4.3 or later. Until upgraded, reject chains containing CA certificates with a name-constraints extension in the certificate verification callback, and review trust anchors separately.", "vendor": "npm", "product": "npm:node-forge", "affected": [ { "affected_notes": [], "affected_ranges": [ "<= 1.4.2" ], "ecosystem": "npm", "fixed_versions": [ "1.4.3" ], "package_name": "node-forge", "purl": "pkg:npm/node-forge" } ], "cwes": [ 295 ], "cvss_score": 7.4, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": false, "check_confidence_basis": null, "exploit": false, "pipeline_minutes": 18.158214, "t0_at": null, "signals": { "trigger_signal": { "at": "2026-11-04T01:08:33+00:00", "days": -0.12993196659722223, "is_lower_bound": true, "measured_at": "2026-11-04T04:15:39.166727+00:00", "url": "https://github.com/digitalbazaar/forge/security/advisories/GHSA-3cc4-3294-vgjf" } } }
published 2026-11-04 01:49Z
last change 2026-11-04 04:08Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.