Узел - Как обновить зависимости внутри модулей npm? - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь решить некоторые проблемы безопасности в моем приложении узла стека MEAN.

В настоящее время я использую npm audit --parseable | grep high, чтобы получить только важные уязвимости, которые выводят 4 из них, 2 из они связаны с angular devkit, но два других:

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. или новее.

В настоящее время мы используем старый модуль saml2 js, чтобы проанализировать 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 ...
});

Итак, я считаю, что у меня есть следующие варианты:

  1. Обновите версию loda sh, которую использует saml2js (как описано в результатах аудита npm), чтобы избавиться от этих уязвимостей.
  2. Замените модуль saml2js на другой, более новый и безопасный, но я не смог найти другого, который мог бы анализировать ответ SAML изначально.
  3. Выполните синтаксический анализ «вручную», но для этого потребуется поддержка других зависимостей, а затем, возможно, создание новых проблемы с безопасностью, поэтому мой первый вариант - № 1.

Есть ли предложения по обновлению версии lodash с saml2js или подход, который мне следует предпринять?

...