写点什么

新思科技网络安全研究中心发现 Jetty Web 服务器存在漏洞

发布于: 2021 年 03 月 09 日
新思科技网络安全研究中心发现Jetty Web服务器存在漏洞

拒绝服务是 Web 服务器常见的漏洞之一,这可能是由于超长 URL 或者畸形 HTTP Header 等原因引起的。Web 服务器在处理这些请求时如果方式不当,就会导致出错终止或挂起。最近,CVE-2020-27223 披露在 Eclipse Foundation 中广泛使用的 Jetty Web 服务器拒绝服务漏洞。Eclipse Foundation 是管理和运营 Eclipse 开源项目的基金会。


概述

新思科技网络安全研究中心(CyRC)研究人员发现了 CVE-2020-27223 漏洞,即 Eclipse Jetty 中的拒绝服务漏洞。Eclipse Jetty 是一种广泛使用的开源 Web 服务器和 Servlet 容器。根据 Eclipse Foundation 网站,“ Jetty 广泛应用于各种项目和产品,无论是开发阶段还是生产阶段。Jetty 易于嵌入到设备、工具、框架、应用程序服务器和现代云服务中,长期以来一直受到开发人员的青睐。”

 

当 Jetty 处理包含带有大量质量因子参数(Accept 请求头中的 q 值)的 Accept 请求头的请求时,CPU 使用率较高,服务器可能会进入拒绝服务状态。新思科技研究人员认为,这是由于在 org.eclipse.jetty.http.QuotedQualityCSV 类的 sort 方法发现的漏洞导致:


Jetty 中唯一可以触发此行为的功能是:

Ÿ   默认错误处理–带 QuotedQualityCSV 的 Accept 请求头被用来确定要发回客户端的内容类型(html、文本、json 和 xml 等)

Ÿ   StatisticsServlet –使用带有 QuotedQualityCSV 的 Accept 请求头被用来确定发回客户端的内容类型(xml、json、text、html 等)

Ÿ   HttpServletRequest.getLocale()–将 Accept-Language 请求头与 QuotedQualityCSV 一起使用,以确定在此调用中返回哪种“首选”语言

Ÿ   HttpservletRequest.getLocales()–与上面类似,但是根据 Accept-Language 请求头上的质量值返回一个有序的语言环境列表

Ÿ   DefaultServlet –使用带有 QuotedQualityCSV 的 Accept-Encoding 请求头以确定应将哪种预压缩内容以静态内容(与 Web 应用程序中的 url 模式不匹配的内容)发回

 

当服务器遇到排序项数量足够大且 q 参数中的值足够分散多样化的请求时,排序数组会导致 CPU 使用率激增。新思科技研究人员没有观察到由此而导致的内存泄漏或崩溃。但是,服务器可能需要几分钟来处理单个请求,该请求的大小在几十 KB 范围内。研究人员观察到请求大小与 CPU 使用时间之间呈指数关系。

受影响的软件

Ÿ   Eclipse Jetty 9.4.6.v20170531 至 9.4.36.v20210114 版本

Ÿ   Eclipse Jetty 10.0.0 版本

Ÿ   Eclipse Jetty 11.0.0 版本

影响

CVSS 3.1 评分

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

 

评分 5.3(中等)

 

漏洞可利用性指标:

攻击途径 Attack Vector (AV): N = Network 网络

攻击复杂程度 Attack Complexity (AC): L = Low 低

所需权限 Privileges Required (PR): N = None 无

用户交互 User Interaction (UI): N = None 无

范围 Scope (S): U = Unchanged 无变化

 

影响指标

机密性影响 Confidentiality Impact (C): N = None 无

完整性影响 Integrity Impact (I): N = None 无

可用性影响 Availability Impact (A): L = Low 低

修复

强烈建议 Jetty 的软件供应商和用户升级到 9.4.38.v20210224、10.0.1 或 11.0.1 版本。

漏洞发现者

位于芬兰奥卢的新思科技网络安全研究中心的研究人员 Matti Varanka 和 Tero Rontti

凭借Defensics® 模糊测试工具发现了此漏洞。

 

新思科技感谢 Webtide(Jetty 的维护团队)及时地响应并修复此漏洞。

时间线

2021 年 1 月 5 日:发现 Jetty 的漏洞

2021 年 2 月 10 日:将漏洞信息反馈给 Webtide(Jetty 的维护团队)

2021 年 2 月 11 日:Webtide 确认 Jetty 存在漏洞,归为 CVE-2020-27223

2021 年 2 月 22 日:Webtide 发布修复

2021 年 2 月 26 日:发布 CVE-2020-27223 修复建议


用户头像

还未添加个人签名 2020.11.13 加入

还未添加个人简介

评论

发布
暂无评论
新思科技网络安全研究中心发现Jetty Web服务器存在漏洞