CVE-2026-44458: Hono: CSS Declaration Injection via Style Object Values in JSX SSR
Summary
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.
Details
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.
This issue arises when untrusted input is interpolated into a JSX style object and rendered server-side.
Impact
An attacker who can control the value or property name of a style object may inject arbitrary CSS declarations. This may lead to:
- Visual manipulation of the page, including full-viewport overlays usable for phishing - Outbound requests to attacker-controlled hosts via CSS resource references such as url(...) - Hijacking of UI affordances through layout, positioning, or visibility changes
This issue affects applications that render JSX on the server with style object values or property names derived from untrusted input.
Other sources
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.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-44458?
CVE-2026-44458 has a moderate severity rating due to its potential for CSS injection through untrusted input.
How do I fix CVE-2026-44458?
To fix CVE-2026-44458, update to the latest version of the 'hono' package, specifically version 4.12.18 or later.
What is the impact of CVE-2026-44458?
The impact of CVE-2026-44458 is limited to CSS injections via untrusted user input, which can alter layout and design.
Who is affected by CVE-2026-44458?
CVE-2026-44458 affects applications using the 'hono' package versions before 4.12.18 that utilize the JSX renderer.
Is CVE-2026-44458 a serious security concern?
While CVE-2026-44458 does not allow JavaScript injection, the risk of unintended CSS manipulation still poses a moderate concern for affected applications.