AI小蜜蜂
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
网络安全平台OPSWAT近日报告,MongoDB的对象数据建模(ODM)库Mongoose中存在的两个严重漏洞,可能导致攻击者在Node.js应用服务器上实现远程代码执行(RCE)。Mongoose在生产环境中广泛使用,能够将JavaScript对象映射到MongoDB文档,从而简化数据管理和验证。然而,其用于优化文档间关系处理的函数却可能被利用以实现RCE。
漏洞详情及危害
第一个严重漏洞被标记为CVE-2024-53900,攻击者可通过利用_$where_值在Node.js上实现RCE。第二个漏洞CVE-2025-23061,则是对CVE-2024-53900补丁的绕过。
OPSWAT解释说,$where_是MongoDB的一个查询操作符,允许在MongoDB服务器上直接执行JavaScript,但存在某些限制。在处理检索到的数据时,Mongoose的一个函数会将$where_值传递给从外部库导入的函数,该函数会在应用服务器上本地处理查询,而不执行输入验证。
“这种缺乏输入验证和限制的情况引入了一个重大的安全隐患,因为由用户输入直接控制的‘params’值可能被利用,进而导致代码注入攻击。”OPSWAT指出。
补丁及其局限性
针对CVE-2024-53900的补丁增加了检查,禁止将_$where_操作符传递给易受攻击的函数,从而阻止了恶意负载的执行。
然而,该补丁可以通过将_$where_操作符嵌入到MongoDB和易受攻击函数都支持的_$or_操作符中来绕过。
参考来源:
Vulnerabilities in MongoDB Library Allow RCE on Node.js Servers
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)