中危 HTTP/2 HPACK 整数溢出和缓冲区分配 (CVE-2023-36478)

CVE编号

CVE-2023-36478

利用情况

暂无

补丁情况

官方补丁

披露时间

2023-10-11
漏洞描述
Eclipse Jetty是一个提供Web服务器和Servlet容器的框架。在11.0.0至11.0.15版本、10.0.0至10.0.15版本和9.0.0至9.4.52版本中,`MetaDataBuilder.checkSize`方法中存在整数溢出漏洞,导致HTTP/2的HPACK头部值超过其大小限制。`MetaDataBuilder.java`会判断头部名称或值是否超过了大小限制,并在超过限制时抛出异常。然而,当长度非常大且huffman变量为true时,在第295行的乘法运算中,乘以4会导致溢出,使长度变为负数。`(_size+length)`现在为负数,因此在第296行的检查不会被触发。此外,`MetaDataBuilder.checkSize`方法允许用户输入的HPACK头部值大小为负数,可能导致后续用户输入的大小乘以2时,触发非常大的缓冲区分配。这意味着如果用户提供一个负的长度值(或更准确地说,将乘以4/3的修正因子后为负数的长度值),并且这个长度值乘以2后是一个非常大的正数,那么用户可以导致服务器分配一个非常大的缓冲区。使用HTTP/2的用户可能受到远程拒绝服务攻击的影响。该问题在11.0.16、10.0.16和9.4.53版本中得到了修复。目前没有已知的解决方法。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
应用 eclipse jetty * From
(including)
10.0.0
Up to
(excluding)
10.0.16
运行在以下环境
应用 eclipse jetty * From
(including)
11.0.0
Up to
(excluding)
11.0.16
运行在以下环境
应用 eclipse jetty * From
(including)
9.3.0
Up to
(excluding)
9.4.53
运行在以下环境
应用 jenkins jenkins * Up to
(excluding)
2.414.3
运行在以下环境
应用 jenkins jenkins * Up to
(excluding)
2.428
运行在以下环境
系统 alpine_3.17 jetty-runner * Up to
(excluding)
9.4.53.20231009-r0
运行在以下环境
系统 alpine_3.18 jetty-runner * Up to
(excluding)
9.4.53.20231009-r0
运行在以下环境
系统 alpine_3.19 jetty-runner * Up to
(excluding)
9.4.53.20231009-r0
运行在以下环境
系统 debian_10 jetty9 * Up to
(excluding)
9.4.50-4+deb10u1
运行在以下环境
系统 debian_11 jetty9 * Up to
(excluding)
9.4.50-4+deb11u1
运行在以下环境
系统 debian_12 jetty9 * Up to
(excluding)
9.4.50-4+deb12u2
运行在以下环境
系统 opensuse_Leap_15.4 jetty-io * Up to
(excluding)
9.4.53-150200.3.22.1
运行在以下环境
系统 opensuse_Leap_15.5 jetty-io * Up to
(excluding)
9.4.53-150200.3.22.1
阿里云评分
6.2
  • 攻击路径
    本地
  • 攻击复杂度
    复杂
  • 权限要求
    普通权限
  • 影响范围
    越权影响
  • EXP成熟度
    未验证
  • 补丁情况
    官方补丁
  • 数据保密性
    无影响
  • 数据完整性
    无影响
  • 服务器危害
    无影响
  • 全网数量
    N/A
CWE-ID 漏洞类型
CWE-190 整数溢出或超界折返
CWE-400 未加控制的资源消耗(资源穷尽)
阿里云安全产品覆盖情况