{"id":"CVE-2026-44458","aliases":["CLSA-2026-1790597695","EUVD-2026-30037","GHSA-26pp-8wgv-hjvm","GHSA-qp7p-654g-cw7p","ROOT-APP-NPM-CVE-2026-44458"],"status":"published","title":"Hono: CSS Declaration Injection via Style Object Values in JSX SSR","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.18, the JSX renderer escapes style attribute object values for HTML but not for CSS. Untrusted input in a style object value or property name can therefore inject additional CSS declarations into the rendered style attribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout. This vulnerability is fixed in 4.12.18.","severity":{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00197,"percentile":0.0956,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-116","CWE-74"],"published":"2026-05-09T00:46:44Z","modified":"2026-10-28T02:30:46Z","fixes":[{"ecosystem":"npm","package":"hono","fixed_in":["4.12.18"],"sources":["ghsa","osv"]},{"ecosystem":"Root:npm","package":"@rootio/hono","fixed_in":["4.12.14-root.io.3","4.12.14-root.io.1","4.12.14-root.io.2","4.12.14-root.io.4","4.12.14-root.io.5","4.12.14-root.io.6","4.12.14-root.io.7","4.12.14-root.io.8","4.12.12-root.io.2"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"hono","fixed_in":["4.12.14-aikido.3","4.12.14-aikido.4","4.12.14-aikido.5","4.12.14-aikido.6","4.12.14-aikido.7","4.12.14-aikido.8","4.12.12-aikido.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"hono","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.12.18"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"hono","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.12.12-tuxcare.0"},{"fixed":"3.12.12-tuxcare.2"}]}],"versions":["3.12.12","3.12.12-tuxcare.1"],"bundled":11},{"source":"osv","ecosystem":"npm","package":"hono","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.12.18"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"@rootio/hono","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.12.14-root.io.3"},{"fixed":"4.12.14-root.io.1"},{"fixed":"4.12.14-root.io.2"},{"fixed":"4.12.14-root.io.4"},{"fixed":"4.12.14-root.io.5"},{"fixed":"4.12.14-root.io.6"},{"fixed":"4.12.14-root.io.7"},{"fixed":"4.12.14-root.io.8"},{"fixed":"4.12.12-root.io.2"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"hono","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.12.14-aikido.3"},{"fixed":"4.12.14-aikido.4"},{"fixed":"4.12.14-aikido.5"},{"fixed":"4.12.14-aikido.6"},{"fixed":"4.12.14-aikido.7"},{"fixed":"4.12.14-aikido.8"},{"fixed":"4.12.12-aikido.2"}]}]}],"products":[{"vendor":"hono","product":"hono"},{"vendor":"honojs","product":"hono"}],"references":[{"url":"https://github.com/honojs/hono/security/advisories/GHSA-qp7p-654g-cw7p","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/advisories/GHSA-qp7p-654g-cw7p"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44458.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-44458","tags":["advisory"]},{"url":"https://github.com/honojs/hono","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-44458","title":"Hono: CSS Declaration Injection via Style Object Values in JSX SSR","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.18, the JSX renderer escapes style attribute object values for HTML but not for CSS. Untrusted input in a style object value or property name can therefore inject additional CSS declarations into the rendered style attribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout. This vulnerability is fixed in 4.12.18.","status":"published","published":"2026-05-13T15:01:37.198Z","modified":"2026-05-14T16:00:11.507Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-74","CWE-116"],"updated_at":"2026-11-02T13:42:49.132798Z"}],"euvd":[{"id":"EUVD-2026-30037","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.18, the JSX renderer escapes style attribute object values for HTML but not for CSS. Untrusted input in a style object value or property name can therefore inject additional CSS declarations into the rendered style attribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout. This vulnerability is fixed in 4.12.18.","status":"published","published":"2026-05-13T15:01:37Z","modified":"2026-05-14T16:00:11Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T19:04:31.113278Z"}],"ghsa":[{"id":"GHSA-qp7p-654g-cw7p","title":"Hono has CSS Declaration Injection via Style Object Values in JSX SSR","description":"### Summary\n\nThe JSX renderer escapes `style` attribute object values for HTML but not for CSS. Untrusted input in a `style` object value or property name can therefore inject additional CSS declarations into the rendered `style` attribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout.\n\n### Details\n\n`style` object values are serialized into a CSS declaration list and escaped for HTML attribute context only. Characters that act as CSS declaration boundaries — such as `;`, comment markers, quoted strings, and block delimiters — are valid in HTML attribute content and can extend a value beyond its assigned property.\n\nThis issue arises when untrusted input is interpolated into a JSX `style` object and rendered server-side.\n\n### Impact\n\nAn attacker who can control the value or property name of a `style` object may inject arbitrary CSS declarations. This may lead to:\n\n- Visual manipulation of the page, including full-viewport overlays usable for phishing\n- Outbound requests to attacker-controlled hosts via CSS resource references such as `url(...)`\n- Hijacking of UI affordances through layout, positioning, or visibility changes\n\nThis issue affects applications that render JSX on the server with `style` object values or property names derived from untrusted input.","status":"published","published":"2026-05-09T00:46:44Z","modified":"2026-05-09T00:46:44Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-74","CWE-116"],"updated_at":"2026-11-02T14:40:05.816188Z"}],"nvd":[{"id":"CVE-2026-44458","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.18, the JSX renderer escapes style attribute object values for HTML but not for CSS. Untrusted input in a style object value or property name can therefore inject additional CSS declarations into the rendered style attribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout. This vulnerability is fixed in 4.12.18.","status":"published","published":"2026-05-13T16:16:57.837Z","modified":"2026-10-26T14:10:00.13Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-74","CWE-116"],"updated_at":"2026-11-02T14:12:19.020465Z"}],"osv":[{"id":"CVE-2026-44458","title":"Hono: CSS Declaration Injection via Style Object Values in JSX SSR","description":"Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.18, the JSX renderer escapes style attribute object values for HTML but not for CSS. Untrusted input in a style object value or property name can therefore inject additional CSS declarations into the rendered style attribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout. This vulnerability is fixed in 4.12.18.","status":"published","published":"2026-05-13T15:01:37.198Z","modified":"2026-10-28T02:30:46.658886036Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-116","CWE-74"],"updated_at":"2026-11-02T15:45:04.820169Z"},{"id":"GHSA-qp7p-654g-cw7p","title":"Hono has CSS Declaration Injection via Style Object Values in JSX SSR","description":"### Summary\n\nThe JSX renderer escapes `style` attribute object values for HTML but not for CSS. Untrusted input in a `style` object value or property name can therefore inject additional CSS declarations into the rendered `style` attribute. The impact is limited to CSS and does not allow JavaScript execution or HTML attribute breakout.\n\n### Details\n\n`style` object values are serialized into a CSS declaration list and escaped for HTML attribute context only. Characters that act as CSS declaration boundaries — such as `;`, comment markers, quoted strings, and block delimiters — are valid in HTML attribute content and can extend a value beyond its assigned property.\n\nThis issue arises when untrusted input is interpolated into a JSX `style` object and rendered server-side.\n\n### Impact\n\nAn attacker who can control the value or property name of a `style` object may inject arbitrary CSS declarations. This may lead to:\n\n- Visual manipulation of the page, including full-viewport overlays usable for phishing\n- Outbound requests to attacker-controlled hosts via CSS resource references such as `url(...)`\n- Hijacking of UI affordances through layout, positioning, or visibility changes\n\nThis issue affects applications that render JSX on the server with `style` object values or property names derived from untrusted input.","status":"published","published":"2026-05-09T00:46:44Z","modified":"2026-09-10T03:50:47.323895256Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-116","CWE-74"],"updated_at":"2026-11-02T15:46:54.760124Z"},{"id":"ROOT-APP-NPM-CVE-2026-44458","title":"CVE-2026-44458 in @rootio/hono - Patched by Root","description":"Root has patched CVE-2026-44458 in the @rootio/hono package for Root:npm. Multiple fixed versions available.","status":"published","published":"2026-07-27T08:20:49Z","modified":"2026-07-27T13:15:25.836599812Z","cvss":[{"version":"3.1","score":4.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:27.649662Z"},{"id":"CLSA-2026-1790597695","title":"TuxCare security update for hono (12 CVEs)","description":"TuxCare rebuilt hono to address 12 CVEs. Fixed in 3.12.12-tuxcare.2.","status":"published","published":"2026-09-28T12:14:55Z","modified":"2026-10-15T09:48:03.104113003Z","updated_at":"2026-11-02T15:43:48.65893Z"}]}}
