我正在尝试解决MEAN堆栈节点应用程序上的一些安全问题。
当前我正在使用npm audit --parseable | grep high
来获取仅显示其中4个的高价值漏洞,其中2个与angular devkit相关,而其他2个与之相关:
review lodash high >=4.17.11 Prototype Pollution https://npmjs.com/advisories/782 saml2js>lodash
review lodash high >=4.17.12 Prototype Pollution https://npmjs.com/advisories/1065 saml2js>lodash
因此问题是lodash
使用的saml2js
版本已过时,需要升级到4.17.12或更高版本。
当前,我们正在使用旧的saml2js模块,以解析从认证过程中获得的SAMLResponse
,如下所示:
const Saml2js = require('saml2js');
app.post('/success', async (req, res) => {
const buffer = Buffer.from(req.body.SAMLResponse || req.body.SAMLRequest, 'base64');
const parser = new Saml2js(buffer);
const user = parser.toObject();
console.log(user) // { name: 'John Doe', id: 1234 }
// Do logic ...
});
所以我相信我的选择是:
saml2js
使用的lodash版本(如
npm审核输出),因此我们将消除这些漏洞。saml2js
模块替换为另一个更新,更安全的模块,但是我
找不到可以本地解析SAML响应的另一个。关于如何从lodash
升级saml2js
版本的任何建议或我应该采取的方法?