IPBUF安全漏洞报告
English
CVE-2026-44455 CVSS 4.7 中危

CVE-2026-44455 Hono框架HTML注入漏洞

披露日期: 2026-05-13

漏洞信息

漏洞编号
CVE-2026-44455
漏洞类型
HTML注入
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Hono

相关标签

HTML注入XSSHonoWeb安全SSR

漏洞概述

Hono Web框架在4.12.16之前的版本中存在安全漏洞。由于对JSX元素标签名的处理不当,未经验证的标签名被直接插入到生成的HTML输出中。当在服务器端渲染期间,通过程序化的jsx()或createElement()API使用不受信任的输入作为标签名时,攻击者可以通过构造特殊值破坏预期的元素上下文,从而注入非预期的HTML代码。

技术细节

该漏洞源于Hono的JSX渲染引擎(hono/jsx)在处理动态标签名时缺乏足够的验证。在服务器端渲染(SSR)场景下,开发者如果直接将用户可控的输入传递给jsx(userInput, props)或createElement(userInput, props),框架会将其视为HTML标签名进行渲染。由于未对特殊字符(如>、/)进行转义,攻击者可以注入恶意的标签结构。例如,输入<img src=x onerror=alert(1) >可能导致HTML解析上下文被破坏,进而执行脚本或改变页面结构。这本质上是一种通过标签名注入实现的HTML注入攻击。

攻击链分析

STEP 1
侦察
攻击者识别出使用Hono框架且存在SSR渲染的应用程序。
STEP 2
注入
攻击者向服务器发送请求,将恶意HTML片段(如<img src=x onerror=alert(1)>)作为参数传递,该参数随后被用作JSX标签名。
STEP 3
渲染
服务器端Hono应用处理请求,未经验证直接将恶意输入作为HTML标签渲染进页面。
STEP 4
执行
受害者浏览器接收到被污染的HTML页面,解析并执行注入的恶意脚本。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Vulnerable code example import { jsx } from 'hono/jsx'; // Simulated user-controlled input acting as a tag name const userTag = '<img src=x onerror=alert(1)>'; // Rendering with untrusted input as tag name const result = jsx(userTag, {}); console.log(result); // Output will contain the injected script tag, leading to XSS.

影响范围

Hono < 4.12.16

防御指南

临时缓解措施
在无法立即升级的情况下,开发者应确保不要将用户输入直接传递给jsx()或createElement()函数的第一个参数。所有动态标签名必须经过严格的白名单验证,仅包含预定义的安全字符。

参考链接

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