Description
hbs is an Express view engine wrapper for Handlebars. Version 4.3.0 can crash the Node.js process during output escaping when an async helper, registered with registerAsyncHelper, resolves to an object whose toHTML property is truthy but not callable. Handlebars escapeExpression calls the toHTML method on any value that has a truthy toHTML, so such a value throws a TypeError, and because the async substitution runs on a later tick outside the render function's try/catch, the throw is an uncaught exception that terminates the process without sending a response. Only version 4.3.0 is affected, since the throwing escape was introduced by the fix for CVE-2026-16231 and earlier versions do not escape async helper values. It can be triggered remotely when an async helper resolves to an externally influenced object such as parsed JSON. The issue is fixed in hbs 4.3.1, and users should upgrade to hbs 4.3.1 or later.
Published: 2026-09-11
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service through process crash
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is caused by an unhandled TypeError that occurs during output escaping when an async helper resolves to an object with a truthy but non‑callable toHTML property. Handlebars escapeExpression attempts to call toHTML, causing the exception to escape the render function’s try/catch and terminate the Node.js process. This results in a denial of service, disrupting service availability for legitimate users. The weakness is identified as CWE-248, a type of Value Uninitialized Exception.

Affected Systems

The product in question is hbs, the Express view engine wrapper for Handlebars, provided by the OpenJSF community. Only version 4.3.0 is affected; the issue is resolved in 4.3.1 and later releases. Applications using hbs 4.3.0 as the view engine should consider the environment vulnerable.

Risk and Exploitability

The CVSS score is 5.9, indicating a medium severity. EPSS information is not available, and the vulnerability is not listed in CISA’s KEV catalog, suggesting no publicly documented exploitation yet. However, the attack can be triggered remotely if an attacker can influence the resolution of an async helper, for example by providing parsed JSON that includes a non‑callable toHTML property. Because the exception propagates terminates the entire Node.js process, making the attack straightforward for an adversary that can inject such data.

Generated by OpenCVE AI on September 11, 2026 at 11:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade hbs to v4.3.1 or later to eliminate the flawed escape logic.
  • Validate or sanitize all objects returned by async helpers to ensure they do not possess a non‑callable truthy toHTML property before they reach escapeExpression.
  • Implement or enable application‑level input validation for data that could influence async helper resolution, reducing the ability for an attacker to supply malicious objects.

Generated by OpenCVE AI on September 11, 2026 at 11:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 11 Sep 2026 17:15:00 +0000

Type Values Removed Values Added
First Time appeared Hbs
Hbs hbs
Vendors & Products Hbs
Hbs hbs

Fri, 11 Sep 2026 11:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 11 Sep 2026 10:00:00 +0000

Type Values Removed Values Added
Description hbs is an Express view engine wrapper for Handlebars. Version 4.3.0 can crash the Node.js process during output escaping when an async helper, registered with registerAsyncHelper, resolves to an object whose toHTML property is truthy but not callable. Handlebars escapeExpression calls the toHTML method on any value that has a truthy toHTML, so such a value throws a TypeError, and because the async substitution runs on a later tick outside the render function's try/catch, the throw is an uncaught exception that terminates the process without sending a response. Only version 4.3.0 is affected, since the throwing escape was introduced by the fix for CVE-2026-16231 and earlier versions do not escape async helper values. It can be triggered remotely when an async helper resolves to an externally influenced object such as parsed JSON. The issue is fixed in hbs 4.3.1, and users should upgrade to hbs 4.3.1 or later.
Title hbs vulnerable to Denial of Service via unhandled exception in async helper output escaping
Weaknesses CWE-248
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-09-11T10:29:11.500Z

Reserved: 2026-09-08T21:42:04.314Z

Link: CVE-2026-87123

cve-icon Vulnrichment

Updated: 2026-09-11T10:28:42.558Z

cve-icon NVD

Status : Received

Published: 2026-09-11T10:16:53.137

Modified: 2026-09-11T11:16:57.387

Link: CVE-2026-87123

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-11T17:00:11Z

Weaknesses