Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker submits malicious slug to CMS or external API
-
DeliverySlug with consecutive '../' segments or Windows path prefix enters ssgParams
-
ExploitDeveloper or CI/CD pipeline runs toSSG() build
-
ExecutionIncomplete normalization accepts traversal path as within output directory
-
PersistFile written or overwritten outside output directory
-
ImpactPoisoned artifact deployed to production environment
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all of the following simultaneously: (1) the application uses Hono's toSSG() static site generator - request-time routing is not affected in any Hono version; (2) ssgParams values are sourced from an untrusted external input such as a CMS content API, external feed, or user submission, rather than being hardcoded or fully validated by the developer; and (3) a developer or automated CI/CD process actively runs the SSG build with those ssgParams. Applications in which all ssgParams values are under developer control are explicitly not vulnerable regardless of Hono version. The attack is limited to the build environment filesystem - production impact occurs only if compromised artifacts are subsequently deployed. Windows-hosted build environments face additional bypass vectors via drive-relative (C:path) and absolute (C:\Windows\) path injection. |
| Impact | The CVSS 6.5 score (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N) accurately reflects moderate real-world risk. UI:R captures the prerequisite that a developer or automated CI/CD process must run the SSG build - this is an active step rather than passive receipt of network traffic, meaningfully limiting opportunistic exploitation. The high integrity impact (I:H) is well-grounded: arbitrary file writes outside the output directory can corrupt deployment artifacts, configuration files, or CI scripts, and if poisoned artifacts are subsequently deployed to production the secondary impact escalates significantly. However, exploitation requires a specific deployment pattern: toSSG() must be used with ssgParams values drawn from an untrusted external source; applications with fully developer-controlled ssgParams are explicitly excluded by the advisory. The vulnerability is a second-order bypass of CVE-2026-39408, indicating the original patch normalization logic was insufficiently audited for consecutive-segment and Windows-path edge cases. EPSS data is absent from the provided input and cannot be assessed. KEV listing is not confirmed. Real-world risk is highest in CI/CD pipelines that pull CMS or user-submitted route slugs directly into SSG builds without prior sanitization. |
| Exploit ScenarioDerived | An attacker who can influence content in a CMS or external API used as a slug source submits a route parameter value such as 'a/b/../../../deploy-config.json'. When a developer or CI/CD pipeline runs the SSG build, toSSG() constructs a file path from this value, the incomplete normalization check accepts the traversal as within the output directory, and the rendered page content is written to the resolved path outside the build output - potentially overwriting deployment scripts, web server configuration, or other CI artifacts. If the overwritten artifact is subsequently deployed to production, the attacker achieves indirect code execution or configuration tampering. No public POC exploit code exists beyond the test cases present in the fix commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Path traversal in Hono's toSSG() static site generator allows untrusted ssgParams values - such as slugs sourced from a CMS, external API, or user submission - to create or overwrite files outside the configured output directory at build time. Versions 4.12.12 through 4.13.4 are affected; the root cause is an incomplete fix for CVE-2026-39408 that fails to collapse consecutive parent-directory segments (e.g., 'a/b/../../../') in route parameter values, and also mishandles Windows drive-relative and UNC path roots. No public exploit has been identified and the vulnerability is not confirmed in the CISA KEV catalog; a complete patch is available in v4.13.5.
RemediationAI
Upgrade Hono to version 4.13.5 or later, available at https://github.com/honojs/hono/releases/tag/v4.13.5; this release corrects the normalization routine to fully collapse consecutive parent-directory segments and properly handle Windows drive-letter and UNC path roots. If an immediate upgrade is not feasible, apply an application-layer allowlist to all ssgParams values before passing them to toSSG(): restrict slug characters to alphanumerics and hyphens (e.g., /^[a-z0-9-]+$/i) and reject any value containing '..', consecutive slashes, or a Windows drive prefix such as 'C:'. Blocklist approaches - stripping only known dangerous sequences - carry high bypass risk, as demonstrated by this CVE being a bypass of the prior CVE-2026-39408 patch, and should not be used as a standalone control. CI/CD pipelines that pull slugs from CMS content APIs, external feeds, or user submissions should treat all such data as untrusted and enforce sanitization before it reaches the SSG build step.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Hono is a lightweight JavaScript web framework targeting multiple runtimes including Node.js, Deno, Bun, and Cloudflare Workers. The affected functionality is toSSG(), a build-time static site generation helper that renders application routes to static HTML or text files on disk. The function constructs output paths by combining the developer-configured output directory with route parameter values from ssgParams, then validates the result using a normalization routine. CWE-22 applies because the normalization logic introduced by the CVE-2026-39408 fix did not fully collapse runs of consecutive '../' traversal segments - for example, 'a/b/../../../pwned' resolves outside the output root but the check accepts it. The commit diff confirms a second bypass vector: the check treated output directories that differ only in rooting convention (relative '.' vs. absolute paths, Windows drive-relative paths such as 'C:path', or absolute Windows paths like 'C:\Windows') as equivalent, creating additional escape routes. CPE cpe:2.3:a:honojs:hono:*:*:*:*:*:*:*:* covers all affected versions through the patch.
Know when Hono gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Attacker supplies malicious slug via external CMS or API (AV:N, PR:N); developer must actively run the build (UI:R); only file integrity is impacted, not confidentiality or availability.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Hono is a Web application framework that provides support for any JavaScript runtime. From 4.12.12 until 4.13.5, the fix released for CVE-2026-39408 does not cover every traversal sequence, and toSSG() can still write files outside the configured output directory when a route parameter contains consecutive parent-directory segments. Static site generation builds each output path from the route path and values supplied through ssgParams, then verifies that the result stays inside the output directory using the same normalization routine that built the path. That routine does not fully collapse runs of consecutive parent-directory segments, allowing a path that the check accepts to resolve outside the output directory, and the check also treats output directories that differ in how they are rooted as equivalent. This arises when an application generates a static site from route parameter values it does not fully control, such as slugs from a CMS, API, or user submission. An untrusted ssgParams value can create or overwrite files elsewhere in the build environment and alter generated artifacts or deployment output. The vulnerability affects build-time static site generation only; request-time routing and applications with entirely developer-controlled ssgParams values are not affected. This issue is fixed in version 4.13.5.
Blast Radius
ecosystem impact- 143 npm packages depend on hono (77 direct, 69 indirect)
Ecosystem-wide dependent count for version 4.13.5.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Improper authorization in Hono's JWT Auth Middleware (hono/jwt in the npm package 'hono', versions 1.1.0 through 4.10.1)
The adapter @hono/node-server allows you to run your Hono application on Node.js. Rated high severity (CVSS 7.5), this v
Hono, a web framework, prior to version 4.6.5 is vulnerable to bypass of cross-site request forgery (CSRF) middleware by
Quadratic-complexity denial of service in Hono's `languageDetector` middleware (versions 4.12.0-4.12.33) allows unauthen
Path prefix stripping in Hono's app.mount() API exposes mounted sub-applications to incorrect routing due to a raw-vs-de
Hono is a Web application framework that provides support for any JavaScript runtime. Rated medium severity (CVSS 5.3),
@hono/node-server is an adapter that allows users to run Hono applications on Node.js. Rated medium severity (CVSS 5.3),
Hono is a Web application framework that provides support for any JavaScript runtime. Rated medium severity (CVSS 5.0),
Cross-user HTML disclosure in Hono's server-side rendering affects all applications using hono/jsx with memo()-wrapped c
Hono is a web framework written in TypeScript. Rated medium severity (CVSS 4.3), this vulnerability is remotely exploita
Hono is a Web application framework that provides support for any JavaScript runtime. [CVSS 8.2 HIGH]
Hono versions before 4.11.4 allow JWT algorithm confusion attacks through improper algorithm validation in the JWK/JWKS
EUVD-2026-69612
GHSA-gqvv-2mrq-wpjv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB