Обновление 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"
Я бы хотел знать:
Как исправить эту конкретную проблему
Каковы рекомендации для поддержания файла 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, и ошибка уязвимости должна исчезнуть. Для получения информации о разрешении см. Эту ссылку.