Обновление Yarn не удаляет старую версию пакета js-yaml в файле yarn.lock

У меня есть высокая уязвимость безопасности sev git hub для js-yaml в моем файле yarn.lock на rails приложение.

Remediation
Upgrade js-yaml to version 3.13.1 or later. For example:

js-yaml@^3.13.1:

  version "3.13.1" 

Я бегал yarn upgrade js-yamlкоторый обновил версию в моем package.json: "js-yaml": "^3.13.1",

Однако проблема все еще отображается в github.

Я также попытался удалить yarn.lock и запустить yarn install а также использование дедуплицирующего инструмента yarn-deduplicate ./yarn.lock (который работал для меня в других случаях. Однако почтение сохраняется.

Вот как выглядит js-yaml в моем файле yarn.lock:

js-yaml@^3.12.0, js-yaml@^3.13.1:
  version "3.13.1"
  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
  integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
  dependencies:
    argparse "^1.0.7"
    esprima "^4.0.0"

js-yaml@~3.7.0:
  version "3.7.0"
  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
  integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=
  dependencies:
    argparse "^1.0.7"
    esprima "^2.6.0" 

Я бы хотел знать:

  1. Как исправить эту конкретную проблему

  2. Каковы рекомендации для поддержания файла yarn.lock в актуальном состоянии, чтобы избежать уязвимостей в безопасности. Кажется, я не единственный, кто получает проблемы с дублированием, когда я yarn upgrade (EG https://github.com/yarnpkg/yarn/issues/3967) может быть, я мог бы сделать что-то по-другому?

1 ответ

Я только что столкнулся с той же ситуацией. Если вы бежите yarn why js-yaml вы можете обнаружить, что js-yaml является вложенной зависимостью, поэтому при обновлении js-yaml существует другая зависимость (например, моя была css-loader), для которой требуется более старая версия js-yaml. Одно из решений (хотя это может быть не самым лучшим, извините) - запустить обновление: yarn upgrade js-yaml@version затем добавьте js-yaml в качестве разрешения в package.json. Перенесите ваши изменения в github, и ошибка уязвимости должна исчезнуть. Для получения информации о разрешении см. Эту ссылку.

Другие вопросы по тегам