{"id":"GHSA-69xw-7hcm-h432","revision":null,"records":[{"revision":"ff832ba198374b169403c6aac5b6b3cc","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-44455","aliases":[],"title":"Hono: Unvalidated JSX Tag Names in hono/jsx May Allow HTML Injection","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.16, Improper handling of JSX element tag names in hono/jsx allowed unvalidated tag names to be directly inserted into the generated HTML output. When untrusted input is used as a tag name via the programmatic jsx() or createElement() APIs during server-side rendering, specially crafted values may break out of the intended element context and inject unintended HTML. This vulnerability is fixed in 4.12.16.","state":0,"publishedAt":"2026-05-13T14:57:05.865+00:00","modifiedAt":"2026-05-14T13:46:11.63+00:00","affected":[{"ecosystem":"Vendor product","name":"hono","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"honojs\",\n                    \"product\": \"hono\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 4.12.16\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","score":4.7,"severity":"MEDIUM"}],"references":["https://github.com/honojs/hono/security/advisories/GHSA-69xw-7hcm-h432"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-44455","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-44455","identifiers":["CVE-2026-44455"]},"retained":false,"historicalAffected":[]},{"revision":"3912b800b2f24a29bd0714324986ea2f","observedAt":"2026-10-28T06:07:39.623+00:00","statement":{"source":"euvd","id":"EUVD-2026-30034","aliases":["CVE-2026-44455","GHSA-69xw-7hcm-h432"],"title":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.16, Improper handling of JSX element tag names in hono/jsx allowed unvalidated tag names to be directly inserted into the generated HTML out…","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.16, Improper handling of JSX element tag names in hono/jsx allowed unvalidated tag names to be directly inserted into the generated HTML output. When untrusted input is used as a tag name via the programmatic jsx() or createElement() APIs during server-side rendering, specially crafted values may break out of the intended element context and inject unintended HTML. This vulnerability is fixed in 4.12.16.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","score":4.7,"severity":null}],"references":["https://github.com/honojs/hono/security/advisories/GHSA-69xw-7hcm-h432"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-30034","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"May 13, 2026, 2:57:05 PM","dateUpdated":"May 14, 2026, 1:46:11 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-30034","identifiers":["EUVD-2026-30034","CVE-2026-44455","GHSA-69xw-7hcm-h432"]},"retained":false,"historicalAffected":[]},{"revision":"5361f39af7234efba65ca1c98e6be10e","observedAt":"2026-10-27T11:12:09.678+00:00","statement":{"source":"nvd","id":"CVE-2026-44455","aliases":[],"title":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.16, Improper handling of JSX element tag names in hono/jsx allowed unvalidated tag names to be directly inserted into the generated HTML out…","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.16, Improper handling of JSX element tag names in hono/jsx allowed unvalidated tag names to be directly inserted into the generated HTML output. When untrusted input is used as a tag name via the programmatic jsx() or createElement() APIs during server-side rendering, specially crafted values may break out of the intended element context and inject unintended HTML. This vulnerability is fixed in 4.12.16.","state":0,"publishedAt":"2026-05-13T16:16:57.433+00:00","modifiedAt":"2026-10-26T14:10:00.13+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · security-advisories@github.com · Secondary","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","score":4.7,"severity":"MEDIUM"},{"system":"CVSS 3.1 · nvd@nist.gov · Primary","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","score":6.1,"severity":"MEDIUM"}],"references":["https://github.com/honojs/hono/security/advisories/GHSA-69xw-7hcm-h432"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-44455","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Analyzed","weaknesses":["CWE-74"],"productCriteria":["cpe:2.3:a:hono:hono:*:*:*:*:*:node.js:*:*"],"sourceDates":{"published":"2026-05-13T16:16:57.433","lastModified":"2026-10-26T14:10:00.130"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-44455","identifiers":["CVE-2026-44455"]},"retained":false,"historicalAffected":[]},{"revision":"ab0dce0cadf34fdfb87999f3d63275db","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-69xw-7hcm-h432","aliases":["CVE-2026-44455"],"title":"hono/jsx has Unvalidated JSX Tag Names that May Allow HTML Injection","description":"## Summary\n\nImproper handling of JSX element tag names in hono/jsx allowed unvalidated tag names to be directly inserted into the generated HTML output.\n\nWhen untrusted input is used as a tag name via the programmatic `jsx()` or `createElement()` APIs during server-side rendering, specially crafted values may break out of the intended element context and inject unintended HTML.\n\n## Details\n\nWhen rendering JSX elements to HTML strings, attribute values are escaped and attribute names are validated. However, element tag names were previously inserted into the output without validation.\n\nIf a tag name contains characters such as `<`, `>`, quotes, or whitespace, it may alter the structure of the generated HTML.\n\nFor example, malformed tag names can:\n\n* Break out of the intended element and introduce unintended HTML elements\n* Inject attributes or event handlers into the rendered output\n\nThis issue arises when untrusted input (such as query parameters or database content) is used as JSX tag names via `jsx()` or `createElement()` during server-side rendering.\n\n## Impact\n\nAn attacker who can control tag names used in JSX rendering may inject unintended HTML into the generated output.\n\nThis may lead to:\n\n* Injection of unexpected HTML elements or attributes\n* Corruption of the HTML structure\n* Cross-site scripting (XSS) when combined with unsafe usage patterns\n\nThis issue only affects applications that construct JSX tag names from untrusted input. Applications using static or allowlisted tag names are not affected.","state":0,"publishedAt":"2026-05-06T23:49:43+00:00","modifiedAt":"2026-09-10T03:50:45.7977383+00:00","affected":[{"ecosystem":"npm","name":"hono","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"4.12.16"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/honojs/hono/security/advisories/GHSA-69xw-7hcm-h432","https://nvd.nist.gov/vuln/detail/CVE-2026-44455","https://github.com/honojs/hono"],"sourceUrl":"https://github.com/advisories/GHSA-69xw-7hcm-h432","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-69xw-7hcm-h432","identifiers":["GHSA-69xw-7hcm-h432","CVE-2026-44455"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-28T11:27:58.1943628+00:00","complete":true,"records":1760,"lastAttemptAt":"2026-10-28T11:27:58.1943628+00:00","lastSuccessAt":"2026-10-28T11:27:58.3812306+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:27:58.3812333+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-d2186f400c54d65f61687f78bb1a00d184d2e215877d0194d7ed70caee809a44-c198db3b38a5d60cf7a19fa563c3fa64c0e3c1766886fed27d3177d787071454","complete":true,"records":415950,"lastAttemptAt":"2026-10-28T11:27:57.5703126+00:00","lastSuccessAt":"2026-10-28T11:27:57.4761681+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:27:57.5703126+00:00","snapshotPublishedAt":"2026-10-28T11:26:34+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-47d76951f73649bfb1dada7eb24cff3d","complete":false,"records":13410,"lastAttemptAt":"2026-10-28T11:33:32.1028174+00:00","lastSuccessAt":"2026-10-28T11:33:32.1737129+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:33:32.1737129+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-28T11:27:58.1943628+00:00","complete":true,"records":1093,"lastAttemptAt":"2026-10-28T11:27:58.1943628+00:00","lastSuccessAt":"2026-10-28T11:27:58.5492419+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:27:58.5492433+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-8d16a738328646698f9217d8ea11893c","complete":true,"records":13449,"lastAttemptAt":"2026-10-28T11:27:59.8543319+00:00","lastSuccessAt":"2026-10-27T22:48:29.491+00:00","error":null,"lastVerifiedAt":"2026-10-27T22:48:29.491+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13514,"expectedIdentifiers":13514,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-f7cb12508d9e6a348c8a60f772ed85529cc80cd2ff853da1099b57754b20e943","complete":true,"records":9790,"lastAttemptAt":"2026-10-28T11:27:57.9413432+00:00","lastSuccessAt":"2026-10-27T21:49:03.9756799+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:27:57.9413432+00:00","snapshotPublishedAt":"2026-10-27T21:48:11+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-72e5e79de0026dd0562d40734074a2236a06886643d67182b8381eaee757dbf7","complete":true,"records":1966,"lastAttemptAt":"2026-10-28T11:27:57.7298696+00:00","lastSuccessAt":"2026-10-27T21:46:38.0277323+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:27:57.7298696+00:00","snapshotPublishedAt":"2026-10-27T21:18:15+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-9cc0e41ed4e75d0c111bed7fd0bbcd4f139c80cc1fc67f8c3d9a33a41da846ad","complete":true,"records":3002,"lastAttemptAt":"2026-10-28T11:27:58.0519474+00:00","lastSuccessAt":"2026-10-28T10:33:32.3653779+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:27:58.0519474+00:00","snapshotPublishedAt":"2026-10-28T09:02:50+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-2ba4ef78ff3a54a3ff2eeaf8e09b7b84901727f582723b80c5b0279e777b2781","complete":true,"records":230857,"lastAttemptAt":"2026-10-28T11:27:57.8320998+00:00","lastSuccessAt":"2026-10-28T09:35:14.9469514+00:00","error":null,"lastVerifiedAt":"2026-10-28T11:27:57.8320998+00:00","snapshotPublishedAt":"2026-10-28T09:33:01+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}