聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
用于创建论坛应用的 Node.js 平台 NodeBB,已修复一个原型污染漏洞,它可导致攻击者模拟其它用户并接管管理员账户。该漏洞是由于错误地处理运行时更改对象原型中的 JavaScript 灵活性导致的。
利用套接字
NodeBB 使用JavaScript 库 Socket.IO。该库可使Node.js 应用使用web套接字,赋能客户端和服务器之间的异步、双向通信,异能更加流畅的聊天体验。
然而,NodeBB 开发人员使用的对象定义可导致攻击者错误使用 Socket.IO 的对象。NodeBB的维护人员表示,仅发布关于该漏洞的有限信息,为开发人员更新应用程序争取更多的时间。不过其中一名维护人员 Barış Uşaklı 证实称,“由于该漏洞可导致攻击者模拟其它用户或以管理员权限进行Socket.IO调用,因此会产生巨大影响。”
在默认的NodeBB 程序中,该漏洞可导致未认证用户获得对应用的管理员访问权限。如该实例已通过额外检查如双因素验证启用插件,则漏洞影响更加有限且要求获得对该应用的认证访问权限。
Uşaklı 指出,尚未有证据表明该漏洞已遭在野利用。维护人员在收到漏洞报告当天修复了该漏洞并在第二天修复了位于其托管客户端上的漏洞。
并非一般的原型污染漏洞
如特殊构造的payload(通常是用户提供的输入)可修改JavaScript 对象的原型并修改该应用的行为,则JavaScript应用易受原型污染漏洞影响。
然而,该NodeBB漏洞不同于该漏洞类型中的一般漏洞。发现该漏洞的安全研究员 Stephen Bradshaw 指出,“这并非你正常理解的原型污染漏洞。”
代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com
推荐阅读
Chromium 原型污染漏洞导致Sanitizer API 被绕过
原文链接
https://portswigger.net/daily-swig/nodebb-prototype-pollution-flaw-could-lead-to-account-takeover
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~