ETK-2026-2731Zero's internal tracking ID, independent of the CVE number.
waiting for further signalsZero needs more public information before it can validate it.description
Applications using node-forge certificate-chain or TLS peer validation can accept a certificate as a certificate authority when it should not be treated as one. An attacker needs a certificate issued by an application-trusted CA that preserves a crafted deprecated extension; this can permit certificates for arbitrary names to be accepted.
mitigation
Upgrade node-forge to version 1.4.1 or later. Until upgraded, reject chains unless each non-leaf certificate has the standard basic-constraints extension and it explicitly permits CA use.
fixed in 1.4.1
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-10-27 04:57Zghsa: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/ETK-2026-2731
{ "etk_id": "ETK-2026-2731", "cve_id": null, "display_id": "ETK-2026-2731", "ghsa_id": "GHSA-5x38-2vff-x55p", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "Certificate-chain validation bypass in node-forge", "summary": "Applications using node-forge certificate-chain or TLS peer validation can accept a certificate as a certificate authority when it should not be treated as one. An attacker needs a certificate issued by an application-trusted CA that preserves a crafted deprecated extension; this can permit certificates for arbitrary names to be accepted.", "mitigation": "Upgrade node-forge to version 1.4.1 or later. Until upgraded, reject chains unless each non-leaf certificate has the standard basic-constraints extension and it explicitly permits CA use.", "vendor": "npm", "product": "npm:node-forge", "affected": [ { "affected_notes": [], "affected_ranges": [ "<= 1.4.0" ], "ecosystem": "npm", "fixed_versions": [ "1.4.1" ], "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": 17.500959483333332, "t0_at": null, "signals": { "trigger_signal": { "at": "2026-10-27T04:57:26+00:00", "days": -0.13212689084490742, "is_lower_bound": true, "measured_at": "2026-10-27T08:07:41.825039+00:00", "url": "https://github.com/digitalbazaar/forge/security/advisories/GHSA-5x38-2vff-x55p" } } }
published 2026-10-27 06:06Z
last change 2026-10-27 07:45Z
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.