CVE-2026-44458
Medium · 4.3CVSS
4.3
EPSS
0.3%
Published
May 13, 2026
CISA due date
—
Cloudanix analysis
Some web pages built with affected versions of this framework could let a user change how parts of the page look in ways the application did not intend.
- Exploitation
- Requires User Interaction
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Web Framework
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Hono versions before 4.12.18 improperly escape JSX style attribute object property names and values. The renderer HTML-escapes style values but does not sufficiently CSS-escape them, so attacker-controlled input placed into a JSX style object can inject additional CSS declarations into the generated inline style attribute. The issue is limited to CSS injection: it does not permit JavaScript execution, HTML attribute breakout, or direct server-side code execution. The primary technical effect is unauthorized manipulation of page presentation or browser-initiated CSS resource loads when a victim views affected rendered content.
Why it matters to the business
Applications that render untrusted user input into JSX style objects may allow attackers to visually alter parts of a page, hide or overlay content, mislead users, or degrade trust in the application interface. The severity is moderate-to-low because the flaw is limited to CSS and requires a user to view affected content, and current exploitation signals are low: EPSS is 0.00197, there is no known CISA KEV listing, no ransomware association, and no reported mature public exploit. Organizations using Hono broadly should still patch because web framework flaws can be inherited across multiple services and downstream applications.
How an attack unfolds
An attacker first identifies an application route or feature built with vulnerable Hono JSX rendering where user-controlled data is passed into a JSX style object as either a property name or property value. The attacker submits crafted CSS syntax that terminates or alters the intended declaration and appends additional declarations. When the application renders the JSX, Hono escapes the value for HTML but not for CSS context, leaving the injected CSS declarations active inside the inline style attribute. A victim then visits or previews the affected page, and the browser applies the attacker-supplied CSS. The attacker can use this to change visual presentation, conceal UI elements, create misleading visual cues, or potentially cause browser requests to attacker-controlled URLs through CSS-supported resource loading, but cannot directly execute JavaScript or break out into arbitrary HTML attributes through this flaw alone.
How to fix it
Upgrade Hono to version 4.12.18 or later everywhere it is used. Regenerate lockfiles and redeploy affected applications so the fixed renderer is actually in production. If immediate upgrade is not possible, prevent untrusted input from being used as JSX style object property names or raw style values; strictly allowlist permitted CSS properties and values; reject delimiters such as semicolons, braces, parentheses, and url() where not explicitly required; and prefer predefined style classes instead of dynamically generated inline styles. Review shared UI components and helper functions that construct style objects from request parameters, profile fields, CMS content, theme settings, or other user-controlled data.
How to confirm the fix worked
Confirm dependency resolution with package manager and SBOM checks, such as `npm ls hono`, `pnpm why hono`, `yarn why hono`, and lockfile review, ensuring all resolved Hono versions are 4.12.18 or later. Validate deployed artifacts, not only source manifests, because bundled or containerized applications may retain older dependencies. Test representative rendering paths by supplying a benign CSS-injection probe such as a value containing `;background-image:url(https://example.invalid/probe)` or an unexpected property-name delimiter and confirm it is rejected, sanitized, or rendered inert rather than becoming a second active CSS declaration. Add regression tests for components that map user input into JSX style objects.
Typical attack path
- Find a Hono application using JSX rendering on a version earlier than 4.12.18.
- Identify a page, profile field, content editor, theme setting, or similar feature where untrusted input influences a JSX style object property name or value.
- Submit a crafted CSS payload that injects additional declarations into the generated inline style attribute.
- Wait for a victim to view the rendered content or induce the victim to open the affected page.
- Leverage the injected CSS to alter page appearance, hide or overlay interface elements, mislead the user, or trigger CSS-based external resource loads where browser behavior permits.
How to detect it
To assess prior exploitation, review application logs, access logs, WAF logs, and audit trails for user-submitted values later rendered in style objects. Focus on fields associated with profile customization, themes, content editing, component settings, query parameters, or APIs that accept display options. Look for CSS declaration separators and unexpected properties in places that normally contain simple colors, sizes, or identifiers, such as semicolons followed by another CSS property, `url(` references, `position:fixed`, high `z-index`, `display:none`, `visibility:hidden`, `opacity:0`, `pointer-events`, `background-image`, `content`, `filter`, or `clip-path`. If outbound proxy, DNS, or CSP violation logs are available, search for browser requests to unusual external domains that correlate with page views of user-generated content. For forensic review, compare stored user-controlled styling values against expected schemas and inspect recent changes around the time suspicious pages were viewed. There are no universal file, process, registry, or network IOCs for this vulnerability because exploitation is application-data dependent and limited to rendered CSS.
What your security team should do
- Inventory all applications and packages that depend on Hono, including transitive and bundled usage.
- Prioritize upgrading any internet-facing application, multi-user application, CMS-like workflow, profile/customization feature, or admin console that renders user-controlled content with Hono JSX.
- Upgrade to Hono 4.12.18 or later and redeploy from clean lockfiles and container images.
- Search code for dynamic JSX style object construction from request parameters, stored user content, query strings, headers, cookies, or database-backed profile/theme fields.
- Add allowlist-based validation for any remaining user-controlled styling features.
- Review web access logs and application audit logs for suspicious style/CSS payload submissions, especially semicolon-delimited declarations or CSS url() references in fields that should not contain CSS.
- Because KEV, ransomware, and exploit-maturity signals are currently low, treat this as a normal-priority patch unless the affected application accepts rich user customization or is high-trust/high-visibility.
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | hono | 0 | 4.12.18 |
Related vulnerabilities
- GHSA-qp7p-654g-cw7p Hono has CSS Declaration Injection via Style Object Values in JSX SSR Same vulnerability
- CVE-2026-54288 Hono is a Web application framework that provides support for any JavaScript runtime. Also affects hono
- CVE-2026-54289 Hono is a Web application framework that provides support for any JavaScript runtime. Also affects hono
- CVE-2026-54286 Hono is a Web application framework that provides support for any JavaScript runtime. Also affects hono
- CVE-2026-54290 Hono is a Web application framework that provides support for any JavaScript runtime. Also affects hono
- CVE-2026-54287 Hono is a Web application framework that provides support for any JavaScript runtime. Also affects hono
- GHSA-rv63-4mwf-qqc2 hono: Body Limit Middleware can be bypassed on AWS Lambda by understating `Content-Length` Also affects hono
- GHSA-wgpf-jwqj-8h8p hono: Lambda@Edge adapter keeps only the last value of a repeated request header… Also affects hono