聚焦源代码安全,网罗国内外最新资讯!

WhiteSource 公司基于 NVD、安全公告和开源项目问题追踪工具等回顾了2020年出现的十大开源漏洞。如下:

1、Lodash

CVE-2020-8203:CVSS 评分:7.4,高危,受影响版本:4.17.2之前版本

易受攻击的 Lodash 版本在使用 _.zipObjectDeep 时,存在一个原型污染漏洞。HackerOne 发布的原始报告指出,该漏洞可被用于在 Object.prototype 中注入属性,从而导致敏感信息暴露、数据增加或修改或者拒绝服务。该报告提供了复现步骤:

通过 lodash 的 “zipObjectDeep” 函数构建一个对象:

Lodash 是一个 JavaScript 工具库,文档指出,Lodash 通过简化和数组、数字、对象、字符串等的工作,使得 JavaScript 更易于处理。这也是为何很多开发人员喜欢用这个开源库迭代数组、对象和字符串;操纵和测试值;以及创建复合函数的原因所在。

2、FasterXML jackson-databind

CVE-2020-24616:CVSS评分8.1,高危,影响 2.9.10.6 之前的 2.x 版本

易受攻击的 FasterXML Jackson-databind 错误地处理了和 br.com.anteros.dbcp.AnterosDBCPDataSource (即 Anteros-DBCP)之间存在关系的序列化小工具和键入之间的交互。

序列化是Java 开发人员的常见实践。多年来,Java 序列化框架和库中都出现了很多序列化问题。因 JSON 库而闻名的一名开源开发人员 @cowtowncoder 指出,“序列化小工具”的负面作用是能够执行恶意操作,造成远程代码执行、拒绝服务或敏感数据泄露等攻击。虽然这种 exploit 类型可能会造成实际后果,但该开发员表示这些攻击不易执行且要求具备很多前提条件。

多年来,得益于它翻译流行数据交换转换器 JSON 和 Java 的方式,jackson-databind 都是人们的最爱,是开发人员运行 API 的必选。如果你也是 Java 开发,请务必保证 Jackson-databind 是最新版本。

3、HtmLUnit

CVE-2020-5529:CVSS 8.1分,高危,影响2.37.0之前的版本

易受攻击的 HtmlUnit 中存在代码执行问题。从NVD 中可看到,当 HtmlUnit 不正确地初始化 Rhino 引擎时,恶意 JavaScript 代码可在应用程序中执行任意 Java 代码。当被嵌入安卓应用程序中时,由于对 Rhino 引擎的初始化未正确执行,恶意 JavaScript 代码可在应用上执行任意 Java 代码。

从文档可知,HtmlUnit 是 “Java 程序的 GUI-Less 浏览器”,同时支持 JavaScript 和 AJAX 库。它为 HTML 文档建模,并提供 API 供用户调用页面、填写表单、单击链接等。该开源项目通常用于测试或从网站检索信息。

4、Handlebars

CVE-2019-20920,CVSS 评分8.1,高危,影响3.0.8之前的版本以及4.5.3之前的 4.x 版本。

NPM 安全公告指出,易受攻击的 Handlebars 中存在一个任意代码执行问题。该安全公告解释称,该包的 lookup 助手未正确验证模板,使得恶意人员能够提交在系统中执行任意 JavaScript 的模板。该漏洞可用于在服务器处理 Handlebars 模板中或者在受害者浏览器中运行任意代码。该漏洞之前漏洞的修复方案不完整导致的。

Handlebars 是 Mustache 模板语言的一个扩展,是一种“无逻辑的模板语言,使查看和代码分离“更容易。目前从 npm 每周的下载超过700万次,它是一个极其热门的开源项目,由认真负责的社区支持和维护。

5、http-proxy

CVE 编号尚未分配:影响1.18.1之前的版本

某些 http-proxy 版本易受拒绝服务攻击。主体部分较长的HTTP 请求能够触发 ERR_HTTP_HEADERS_SENT 未被处理的异常,从而使代理服务器崩溃。只有当代理服务器通过使用 proxyReq.setHeader 函数在代理请求中设置标头时,才会发生这种情况。

Http-proxy 是一种 HTTP 可编程代理库,支持 websocket 并有助于实现多个组件如反向代理和负载平衡器之类的组件。它是一个非常受欢迎的开源库,目前每周的 NPM 下载量接近1200万,而且支持2000多个依赖。鉴于此,用户有必要确保使用的是最新版本 1.18.1。

6、decompress

CVE-2020-12265,CVSS 评分9.8,严重,影响 4.2.1 以前的版本

NPM 安全公告指出,受影响的 decompress 版本易受任意文件写入漏洞影响。恶意人员可通过包含含有 ../ 的文件名称写入任意文件夹,因为该软件包不会通过相对路径阻止文件提取。

Decompress 是一个致力于轻松提取文档的开源项目。它说明了相对小型项目中的漏洞,很多人通过它执行简单的任务,如果漏洞未得到修复可为用户造成巨大损害。Decompress 等项目让编程更容易,但虽然它们执行的任务看似简单,但不能因此忽视对开源漏洞的管理工作。

安全公告建议更新至版本 4.2.1 或后续版本。

7、XStream

CVE-2020-26217,CVSS评分8.8,高危,影响1.4.14之前版本

易受攻击的 XStream 中存在一个远程代码执行漏洞。XStream 解释称,“在解组时处理的流包括重构之前写入对象的类型信息。因此,XStream 基于这些类型信息创建新的实例。攻击者能够操纵处理后的输入流,并替换或注入可以执行任意 shell 命令的对象。“

GitHub 安全公告建议依赖 XStream 的用户将安全框架的默认黑名单更新到 1.4.14 或后续版本。遵循建议通过白名单设置 XStream 的 Security Framework 的用户不受影响。

XStream 是一个开源库,执行从 Java 到 XML 的序列化,然后再返回。文档列出了传输、持久性、配置和单元测试的典型用法。由于它是许多开源 Java Web 应用程序所使用的非常流行的库,因此确保正在使用最新版本并遵循建议非常重要。

8、Netty

CVE-2020-11612,CVSS 评分9.8,影响 4.1.46 之前的 4.1.x 版本。

ZlibDecoders 易受攻击的 Netty 版本在解码 ZlibEncoded 字节流时,可导致无限制的内存分配。恶意人员可利用该漏洞向 Netty 服务器发送较大的 ZlibEncoded 字节流,从而迫使服务器将所有可用内存分配给单个解码器。

Netty 是一个异步事件驱动的网络应用程序框架,旨在快速开发可维护的高性能协议服务器和客户端。该项目的文档指出,此 NIO 客户端/服务器框架有助于简化和梳理 TCP 和 UDP 套接字服务器等网络编程。

9、Spring Framework

CVE-2020-5398,CVSS 评分7.5,影响版本包括:5.2.3之前的 5.2.x 版本、5.1.13 之前的 5.1.x 版本以及5.0.16之前的5.0.x版本。

在受影响的 Spring Framework 版本中,当应用程序在响应(文件名称属性是由用户提供的衍生输入)中设置 “Content-Disposition” 标头时,应用程序易受反射型文件下载 (RFD) 攻击的影响。

如果你正在使用 Java,很可能会遇到 Spring。它是极其流行的 Java 应用开发框架,得益于其模块化和轻量的特点,可使开发人员轻松创建出强大的应用程序。众所周知,它颠覆了控制设计原理(结合了分层、轻量级容器以及可在接口上编程的能力)。

10、PyYAML

CVE-2020-1747,CVSS 评分9.8,影响 5.3.1 之前的版本。

当不受信任的 YAML 文件通过 full_load 方法或通过 FullLoader 负载器处理时,易受攻击的 PyYAML 库易受任意代码执行漏洞的影响。攻击者可利用该漏洞通过滥用 python/object/new 构建器在系统上滥用任意代码。

PyYAML 是一款极其流行的针对 Python 的 YAML 解析器和发射器。由于近年来 Python 的热度高居不下,因此用户最好确保使用的是 PyYAML 的更新版本。

推荐阅读

开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析

集结30+漏洞 exploit,Gitpaste-12 蠕虫影响 Linux 和开源组件等

4个开源 TCP/IP 栈被曝33个漏洞,数百万智能和工业设备受影响

原文链接

https://resources.whitesourcesoftware.com/blog-whitesource/top-security-open-source-vulnerabilities-2020

题图:Pixabay License

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

奇安信代码卫士 (codesafe)

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

产品线。

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

2020年十大开源漏洞回顾相关推荐

  1. 【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

    经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...

  2. 2020年十大开源免费的WEB应用防火墙

    2020年HTTPS加密已经普及,传统的防火墙检测功能失效,所以对于网站来说,部署一个WEB应用防火墙十分重要,这方面商业产品很多,开源的也不少,这里笔者经过大量搜索,整理出十大免费的产品供大家参考. ...

  3. 新一代大数据任务调度 - Apache DolphinScheduler喜提十大开源新锐项目 最具人气项目

    经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...

  4. 2020年十大漏洞赏金项目

    2020年6月25日,Hackone公布了2020年十大漏洞赏金项目TOP10榜单,该列表基于HackerOne项目目录中的公共信息,排名依据每家企业在2020年4月(包括之前)向黑客支付的累计赏金总 ...

  5. 「网络安全」2020年十大最佳开源防火墙保护您的企业网络

    开源防火墙最出名的地方是通过过滤入站和出站流量来保护网络不受威胁,并确保网络安全. 每当我们谈到开源防火墙时,首先映入我们脑海的是"完全免费"."不过,让我来解释一下,开 ...

  6. 从2020年十大勒索攻击事件聊聊企业安全“防盗”新思路

    自2017年WannaCry.NotPetya席卷全球以来,勒索病毒一直以不可忽视的危害性和破坏力,被全球企业和机构视为最大网络威胁之一.回顾整个2020年,受新冠疫情大流行和全球数字化进程加快的驱动 ...

  7. MIT Technology Review 2020年“十大突破性技术”解读 【中国科学基金】2020年第3期发布...

    来源:国家自然科学基金委员会 MIT Technology Review  2020年"十大突破性技术"解读 [编者按]  2020年2月26日,MIT Technology Re ...

  8. 极客日报第5期:华为剥离荣耀 交易价格1000亿元;2020年十大热词出炉:开头看着想笑,后面感动到哭

    文章目录 互联网快讯 程序员专区 Github 每日精选 CSDN 社区优质博文精选 互联网快讯 1.华为剥离荣耀:交易价格1000亿元 管理层持股并做人员调整 3氪从多位知情人士处获悉,华为计划将荣 ...

  9. android开源2016_2016年十大开源项目

    android开源2016 每年涌现,壮大,改变和发展的精彩的开源项目继续给我们留下深刻的印象. 从我们的年度最佳项目清单中选出10个绝非易事,当然,这份简短的清单也不能囊括每个值得开展的项目. 为了 ...

最新文章

  1. sniffer 和 debug flow
  2. 使用笛卡尔积 cross join解决傻傻的问题
  3. C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
  4. 软件测试中的存根程序
  5. (转)python类:magic魔术方法
  6. maven分模块构建项目工程
  7. 完全卸载MySQL 数据库——清空MySql注册表
  8. C语言实验—— 数值统计
  9. 手机端APP接口拦截(抓包)-Charles
  10. ntfs格式的移动硬盘如何在mac电脑写入?
  11. 目标跟踪VOT2016的配置
  12. 微信分享网页时自定义标题描述和图片
  13. MATLAB2018
  14. python:TypeError:takes at least 8 arguments (9 given)
  15. 重放攻击(Replay Attacks)
  16. SuperMap GIS点云数据处理QA
  17. 中兴u31网关服务器位置,中兴LTE-U31网管简易操作指南
  18. 电脑数据备份软件哪个好用:试试更专业的数据备份与恢复能力俱佳的Macrium Reflect中文版吧 | 含macrium reflect使用指南
  19. 国家公务员录用考试的一般流程
  20. data fastboot 擦除_Fastboot 常用命令

热门文章

  1. 手把手教你搭建LyncServer2013之发布Office Web App服务器(十二)
  2. 《JQuery 能干点啥~》第7讲 层级选择器_2
  3. (转)Linux传输大文件(分割传输)
  4. nodejs总结之redis模块
  5. 国内首家VR虚拟现实主题公园即将在北京推出
  6. Memcached(四)Memcached的CAS协议
  7. WebRequest 对象的使用
  8. javaSe--integer与int
  9. 三维数组怎么排列_【连载5.3】三维测量算法GPU实现
  10. Android* 操作系统上的应用程序远程调试