查看原文
其他

开源自动化服务器软件 Jenkins 被曝严重漏洞,可泄露敏感信息

Ravie Lakshmanan 代码卫士 2022-04-06
 聚焦源代码安全,网罗国内外最新资讯!
编译:奇安信代码卫士团队
本周一,热门开源自动化服务器软件 Jenkins 发布安全公告称,Jetty web 服务器中存在一个严重漏洞,可导致内存损坏并导致机密信息被盗。


该漏洞的编号为 CVE-2019-17638,CVSS 评分为9.4,影响Eclipse Jetty9.4.27.v20200227至9.4.29.v20200521 版本。Eclipse Jetty 是一款全功能工具,为软件框架提供 Java HTTP 服务器和 web 容器。
该安全公告指出,“当开始使用 java-jar Jenkins.war时,Jenkins 捆绑围绕 Jetty 的封装 Winstone-Jetty,当作 HTTP 和 servlet服务器。这是使用任何安装程序或软件包时运行 Jenkins 的方式,而不是使用诸如 Tomcat 之类的 servlet 容器运行时的方式。”
安全公告指出,“该漏洞可导致未认证攻击者获取可能包含其它用户敏感数据的 HTTP响应标头。”该漏洞影响 Jetty 和 Jenkins Core,似乎在 Jetty 版本9.4.27 中引入。该版本中增加了处理大型 HTTP 响应标头并阻止缓冲区溢出的机制。
Jetty 的项目主管 Greg Wilkins 表示,“这个问题存在于缓冲区溢出中,我们发布了标头缓冲区但字段不是null。”为此,Jetty 抛出一个异常生成 HTTP 431 错误,导致HTTP响应标头两次被发布到缓冲区池,从而造成内存损坏和信息泄露。
为此,由于双重发布,两个线程能够在同一时间从池中获得相同的缓冲区,并可能导致请求访问由另外一个线程编写的响应,其中可能包括会话标识符、认证凭据和其它敏感信息。
换言之,“虽然thread1将使用 ByteBuffer 编写 response1数据,thread2 以response2 数据填充 ByteBuffer。Thread1 继续编写包含 response2 数据的缓冲区。这就导致发布 request1 和希望响应的 client1 看到可能包含属于 client2 敏感数据的 response2。”
在其中一种情况下,内存损坏使得客户端有可能在会话中间移动,因此具有跨账户访问权限,由于一个用户的响应认证 cookie 被发送给另外一个用户,因此导致用户A插入用户B的会话中。
漏洞影响披露后,该漏洞已于上个月发布的 Jetty9.4.30.v20200611 版本中修复。通过一个命令行接口 Winstone 绑定 Jetty的Jenkins 已在昨天发布的 Jenkins 2.243和 Jenkins LTS2.235.5 中修复这个缺陷。
建议 Jenkins 用户将软件更新至最新版本以缓解该缓冲区损坏缺陷。
Jenkins 安全公告请见:
https://www.jenkins.io/security/advisory/2020-08-17/#descriptions




推荐阅读
开源服务器 Jenkins 曝漏洞,可用于发动 DDoS 攻击
开源的 Jenkins 服务器配置不当或导致著名机构敏感数据遭泄露



原文链接
https://thehackernews.com/2020/08/jenkins-server-vulnerability.html


题图:Pixabay License


本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。


奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

    觉得不错,就点个 “在看” 吧~



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存