CVE-2026-93981 PUBLISHED

hono/jsx before 4.13.7 Cross-Site Scripting via Unescaped Strings

Assigner: VulnCheck
Reserved: 19.09.2026 Published: 19.09.2026 Updated: 19.09.2026

hono before 4.13.7 fails to HTML-escape plain strings rendered by hono/jsx as a child or fallback of Suspense, as a string child of ErrorBoundary alongside an asynchronous sibling, as the single child of a Context.Provider, or as the root value passed to renderToString() or renderToReadableStream() from hono/jsx/dom/server. These paths stringify their input and treat the result as already-escaped markup, so an attacker who controls such a string during server-side rendering can inject arbitrary HTML and execute script under the application's origin.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
CVSS Score: 2.3

Product Status

Vendor honojs
Product hono
Versions Default: unaffected
  • affected from 0 to 4.13.7 (excl.)
  • Version 4.13.7 is unaffected

Credits

  • ggmolly reporter

References

Problem Types

  • Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') CWE