Express 中的 qs 模块存在原型污染漏洞
漏洞描述
Express 是一个基于 Node.js 的 Web 框架,qs 是一个用于解析或序列化字符串的库,Express 默认使用 qs 模块进行查询字符串解析。
qs 的受影响版本中由于 parseObject 方法没有对 js 对象的“proto”属性进行正确判断,导致攻击者可以通过 qs 解析具有过长数组属性的 js 对象造成拒绝服务。在 4.17.3 之前的 Express 会受到此漏洞的影响,未经身份验证的远程攻击者可以将 payload(如:a[proto]=b&a[proto]&a[length]=100000000)传入用于访问应用程序的 URL 的查询字符串中,在 qs 解析 URL 时导致 Express 应用程序的 Node 进程被挂起。
漏洞名称 | Express 中的 qs 模块存在原型污染漏洞 |
---|---|
漏洞类型 | 原型污染 |
发现时间 | 2022-11-27 |
漏洞影响广度 | 广 |
MPS编号 | MPS-2022-3967 |
CVE编号 | CVE-2022-24999 |
CNVD编号 | - |
影响范围
express@(-∞, 4.17.3)
qs@[6.4.0, 6.4.1)
qs@[6.2.0, 6.2.4)
qs@[6.8.0, 6.8.3)
qs@[6.5.0, 6.5.3)
qs@[6.3.0, 6.3.3)
qs@[6.9.0, 6.9.7)
qs@[6.10.0, 6.10.3)
qs@[6.7.0, 6.7.3)
qs@[6.6.0, 6.6.1)
修复方案
升级express到 4.17.3 或更高版本
升级qs到 6.2.4 或 6.3.3 或 6.4.1 或 6.5.3 或 6.6.1 或 6.7.3 或 6.8.3 或 6.9.7 或 6.10.3 或更高版本
参考链接
https://www.oscs1024.com/hd/MPS-2022-3967
https://nvd.nist.gov/vuln/detail/CVE-2022-24999
https://github.com/ljharb/qs/pull/428
https://github.com/ljharb/qs/pull/428/commits/8b4cc14cda94a5c89341b77e5fe435ec6c41be2d
https://github.com/n8tz/CVE-2022-24999
情报订阅
OSCS(开源软件供应链安全社区)通过最快、最全的方式,发布开源项目最新的安全风险动态,包括开源组件安全漏洞、事件等信息。同时提供漏洞、投毒情报的免费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时获得一手情报信息推送:
https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见:
https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Express 中的 qs 模块存在原型污染漏洞
漏洞描述 Express 是一个基于 Node.js 的 Web 框架,qs 是一个增加了一些安全性的查询字符串解析和序列化字符串的库。 qs 的受影响版本中由于 parseObject 方法没有对 js 对象的“proto”属性进行限制,导致攻击者可以在 js 对象的 “proto”属性中设置自定义长度的数组,如果数组的长度过大则会导致程序拒绝服务。在 4.17.3 之前的 Express 会受到此漏洞的影响,未经身份验证的远程攻击者可以将 payload(如:a[proto]=b&a[proto]&a[length]=100000000)传入用于访问应用程序的 URL 的查询字符串中,在 qs 解析 URL 时导致 Express 应用程序的 Node 进程被挂起。 漏洞名称 Express 中的 qs 模块存在原型污染漏洞 漏洞类型 原型污染 发现时间 2022-11-27 漏洞影响广度 广 MPS编号 MPS-2022-3967 CVE编号 CVE-2022-24999 CNVD编号 - 影响范围 qs@[6.8.0, 6.8.3) qs@[6.6.0, 6.6...
- 下一篇
每日一博 | vivo 大数据日志采集 Agent 设计实践
作者:vivo 互联网存储技术团队- Qiu Sidi 在企业大数据体系建设过程中,数据采集是其中的首要环节。然而,当前行业内的相关开源数据采集组件,并无法满足企业大规模数据采集的需求与有效的数据采集治理,所以大部分企业都采用自研开发采集组件的方式。本文通过在vivo的日志采集服务的设计实践经验,为大家提供日志采集Agent在设计开发过程中的关键设计思路。 一、概述 在企业大数据体系的建设过程中,数据的处理一般包含4个步骤:采集、存储、计算和使用。其中,数据采集,是建设过程中的首要的环节,也是至关重要的环节,如果没有采集就没有数据,更谈不上后续的数据处理与使用。所以,我们看到的企业中的运营报表、决策报表、日志监控、审计日志等的数据来源都是基于数据采集。一般的,我们对数据采集的定义是,把各种分散的源头上的数据(可以包括企业产品的埋点的日志、服务器日志、数据库、IOT设备日志等)统一汇聚到大数据存储组件的过程(如下图所示)。其中,日志文件类型的采集场景,是各种数据采集类型中最常见的一种。接下来,将围绕该场景提出我们的设计实践方案。 通常,日志采集服务可以分为几个部分(业界常见的架构如下图所...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8编译安装MySQL8.0.19
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7设置SWAP分区,小内存服务器的救世主