Register for the AI for Security Summit: Join Figma, Perplexity & Wiz

CVE-2026-69207
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-69207 is a Regular Expression Denial of Service (ReDoS) vulnerability in the built-in CORS middleware (hono/cors) of the Hono web application framework. The flaw affects all versions of the hono npm package prior to 4.12.34 and was disclosed on August 3, 2026, by researcher "sonicnew" via a GitHub Security Advisory. It carries a CVSS v3.1 base score of 5.3 (Medium) (GitHub Advisory, Hono Release).

Technical details

The root cause is classified as CWE-1333 (Inefficient Regular Expression Complexity). When cors() is used without a configured allowHeaders option (the default), the middleware reflects and parses the attacker-controlled Access-Control-Request-Headers HTTP header during CORS preflight (OPTIONS) requests using a whitespace-tolerant regular expression (/\s*,\s*/). This regex exhibits quadratic backtracking — O(n²) complexity — when the header value contains a long sequence of whitespace characters without a comma delimiter, causing CPU consumption to grow disproportionately with input length. The fix, applied in commit 93fc250, replaces the vulnerable regex split with a linear split(',').map(h => h.trim()) approach, eliminating the backtracking entirely (GitHub Advisory, Fix Commit).

Impact

This vulnerability is a denial-of-service issue exclusively — it does not expose, modify, or exfiltrate data, so confidentiality and integrity are unaffected. A single crafted preflight request can consume seconds of CPU time; on single-threaded JavaScript runtimes (e.g., Node.js, Deno, Bun event loops), this blocks all concurrent request processing, potentially rendering the entire service unresponsive. Repeated requests amplify the effect, making sustained denial of service feasible without authentication or special privileges (GitHub Advisory).

Exploitability

No public exploit code or in-the-wild exploitation has been reported as of the disclosure date. The NVD SSVC assessment classifies exploitation as "none" and the attack as not automatable. The EPSS score is approximately 0.65% (49th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. However, the attack requires no authentication, no special origin, and no user interaction, making it trivially reachable on any internet-facing Hono application using the default CORS configuration (GitHub Advisory, Feedly).

Exploitation steps

  1. Reconnaissance: Identify internet-facing web services built on the Hono framework (npm package hono < 4.12.34) that expose CORS-enabled endpoints, using tools like Shodan, Censys, or by inspecting HTTP response headers for CORS-related fields.
  2. Confirm default configuration: Verify the target uses cors() without a non-empty allowHeaders option — the vulnerable default — by sending a standard OPTIONS preflight and observing that the Access-Control-Allow-Headers response reflects the request's Access-Control-Request-Headers value.
  3. Craft malicious preflight: Construct an HTTP OPTIONS request to any CORS-enabled endpoint with an Access-Control-Request-Headers header containing a header name followed by a very long run of whitespace characters (e.g., 'x' + ' '.repeat(200000) + 'x'), staying within the server's maximum HTTP header size limit.
  4. Send the request: Transmit the crafted OPTIONS request. The vulnerable regex processes the whitespace-heavy value with quadratic backtracking, consuming seconds of CPU per request.
  5. Repeat for sustained DoS: Send repeated preflight requests to saturate CPU resources. On single-threaded runtimes, this blocks the event loop and stalls all concurrent legitimate requests, effectively denying service (GitHub Advisory, Fix Commit).

Indicators of compromise

  • Network: High volume of HTTP OPTIONS (preflight) requests to CORS-enabled endpoints from one or more source IPs; requests with unusually large Access-Control-Request-Headers header values (kilobytes of whitespace).
  • Logs: Web/application server access logs showing repeated OPTIONS requests with abnormally long header values; elevated request processing times or timeouts for OPTIONS requests in application logs.
  • Process/Runtime: Sustained high CPU utilization on the Node.js, Deno, or Bun process serving the Hono application, correlated with incoming OPTIONS requests; event loop lag metrics spiking during preflight bursts.

Mitigation and workarounds

Upgrade the hono npm package to version 4.12.34 or later, which replaces the vulnerable regex-based header parsing with a safe split(',').map(h => h.trim()) approach (Hono Release, Fix Commit). As an immediate workaround without upgrading, configure the cors() middleware with a non-empty allowHeaders array (e.g., cors({ allowHeaders: ['Content-Type', 'Authorization'] })), which bypasses the vulnerable parsing path entirely. Additionally, deploying a reverse proxy or WAF rule to limit the maximum size of the Access-Control-Request-Headers header can reduce exposure (GitHub Advisory).

Community reactions

The advisory was published by Hono maintainer yusukebe on August 3, 2026, alongside fixes for three other security issues in the same v4.12.34 release, including a cross-user data disclosure in hono/jsx and a DoS in hono/language. The release notes explicitly encouraged all users of hono/cors, hono/jsx, hono/language, and hono/proxy to upgrade immediately (Hono Release). No significant independent researcher commentary or broad media coverage has been identified beyond standard vulnerability database aggregation.

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-61560CRITICAL9.8
  • JavaScript logoJavaScript
  • @zereight/mcp-gitlab
NoYesSep 15, 2026
CVE-2026-61568CRITICAL9.6
  • JavaScript logoJavaScript
  • @zereight/mcp-gitlab
NoYesSep 15, 2026
CVE-2026-61559CRITICAL9.6
  • JavaScript logoJavaScript
  • @zereight/mcp-gitlab
NoYesSep 15, 2026
CVE-2026-63671HIGH8.1
  • JavaScript logoJavaScript
  • @nuxtjs/mdc
NoYesSep 16, 2026
CVE-2026-68904HIGH7
  • JavaScript logoJavaScript
  • node-opcua-transport
NoYesSep 16, 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

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