Hono框架Vary头注入漏洞导致CORS绕过风险分析

本文详细分析Hono框架CORS中间件中的Vary头注入漏洞,该漏洞允许攻击者操控响应头影响缓存行为,可能导致CORS绕过和缓存键污染,建议升级到4.10.3版本修复。

漏洞详情

包信息

  • 包管理器: npm
  • 包名称: hono
  • 受影响版本: < 4.10.3
  • 已修复版本: 4.10.3

漏洞描述

摘要

CORS中间件中存在一个缺陷,允许请求中的Vary头被反射到响应中,使得攻击者能够控制Vary值,可能影响缓存行为。

详细说明

当origin未设置为"*“时,该中间件之前会从请求中复制Vary头。由于Vary是一个应该仅由服务器管理的响应头,这可能允许攻击者影响缓存行为或导致不一致的CORS处理。

在大多数环境中,仅当共享缓存或代理依赖Vary头时才会产生影响。实际效果因配置而异。

影响

  • 可能导致缓存键污染和特定设置中的不一致CORS执行
  • 在默认配置中不会直接影响机密性、完整性或可用性

解决方案

更新到最新的修复版本。CORS中间件已被修正,将Vary专门作为响应头处理。

参考信息

  • GHSA ID: GHSA-q7jf-gf43-6x6p
  • 修复提交: honojs/hono@d9b8b4b

安全评分

严重程度

  • 等级: 中等
  • CVSS总体评分: 6.5/10

CVSS v3基础指标

  • 攻击向量: 网络
  • 攻击复杂度: 低
  • 所需权限: 无
  • 用户交互: 无
  • 范围: 未改变
  • 机密性: 低
  • 完整性: 低
  • 可用性: 无

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

弱点分类

  • 弱点: CWE-444
  • 描述: HTTP请求的不一致解释(‘HTTP请求/响应走私’)
  • 说明: 产品在数据流中作为中间HTTP代理(如代理或防火墙),但对畸形HTTP请求或响应的解释方式与最终目的地实体的处理方式不一致。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计