[ CVE-2026-93981 · Published 19 Sep 2026 ]
hono/jsx renders plain strings unescaped in boundary components, leading to XSS
CVSS 4.7
EPSS <1%Fix available
[ Description ]Official description
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.
[ Fixes ]Fixes and patches
- hono 4.13.7Fixed version · GitHub Advisories · npm package hono: upgrade to 4.13.7 or later (affected < 4.13.7)
[ Packages ]Affected open-source packages
- hono npmAffected < 4.13.7 · fixed in 4.13.7 · GHSA-hxh3-vqpv-xpqv