{"id":"GHSA-6623-4q32-82v8","title":"Duplicate Advisory: hono/jsx renders plain strings unescaped in boundary components, leading to XSS","summary":"Duplicate Advisory: hono/jsx renders plain strings unescaped in boundary components, leading to XSS","severity":"low","cvss":4.7,"cwe":["CWE-79"],"vendor":"hono","product":"hono","ecosystem":"npm","affected":["hono < 4.13.7"],"published":"2026-09-19","updated":"2026-09-30","sourceUpdated":"2026-09-30T23:46:02Z","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-6623-4q32-82v8","references":[{"url":"https://github.com/honojs/hono/security/advisories/GHSA-hxh3-vqpv-xpqv"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93981"},{"url":"https://www.vulncheck.com/advisories/hono-jsx-before-4.13.7-cross-site-scripting-via-unescaped-strings"},{"url":"https://github.com/advisories/GHSA-6623-4q32-82v8"}],"tags":["ghsa","npm"],"ingestedAt":"2026-10-01T00:33:27.744Z","slug":"GHSA-6623-4q32-82v8","body":"## Overview\n\n## Duplicate Advisory\n\nThis advisory has been withdrawn because it is a duplicate of GHSA-hxh3-vqpv-xpqv. This link is maintained to preserve external references.\n\n## Original Description\nhono 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.\n\n## Affected packages\n\n- `hono < 4.13.7`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"sunlit","depthScore":26,"depthScoreParts":{"impact":25.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}