Aujourd'hui, github affiche l'erreur suivante sur mon référentiel github:
Nous avons détecté une faille de sécurité potentielle dans l’un de vos dépendances. Une dépendance définie dans ./package-lock.json a connu vulnérabilités de sécurité et devrait être mis à jour.
En cliquant sur le bouton Vérifier les dépendances vulnérables, le message suivant s’affiche:
le module de noeud hoek avant la version 5.0.3 souffre d'une modification de Vulnérabilité des données présumées immuables (MAID) via "fusion"
Jusqu'à hier, il ne montrait pas une telle erreur. Je n'ai pas fait de Push dans ce dépôt depuis plus de 5 jours. Toute idée pourquoi cela se passe.
J'ai utilisé: rm package-lock.json
&& npm update && npm install
. Pour moi, cette mise à jour hoek
à 4.2.1
, qui contient également le correctif ( par ce commentaire .)
Edit: Dans une autre application, j'ai exécuté rm package-lock.json
et soit npm i hoek && npm up && npm i && npm un hoek
ou npm i hoek && npm un hoek && npm up && npm i
(impossible de rappeler l'ordre), qui est plus aligné avec ce commentaire (de JamesSingleton) .
(rm package-lock.json
est seulement s'il existe.)
Edit: Dans encore une 3ème application, j'ai vérifié npm outdated
et constaté que je devais mettre à jour react-scripts-ts
de 2.13.0
à 2.15.1
. Pour cela, j'ai mis à jour le package.json
manuellement, puis juste lancé npm i
. Une fois cela fait, hoek
a été mis à jour pour 4.2.1.
(en ciblant spécifiquement ce composant principal/élément clé).
Edit: Ma solution pour un site Zurb Foundation 6:
J'ai mis à jour tous mes paquets avec leurs versions principales en utilisant npm outdated
. J'ai ensuite couru:
npm i hoek@latest --save && npm up hoek
npm i boom hawk sntp uncss gulp-uncss --save && npm up boom hawk sntp uncss gulp-uncss && npm un boom hawk sntp gulp-uncss uncss --save
Il y avait deux soutiens; browser-sync : 2.23.7
et node-sass : 4.9.0
, tous deux à leur dernière version. Peu importe: l'avertissement GitHub résolu après le commit.
J'ai utilisé npm update hoek && npm install hoek et le package a été mis à jour en 5.0.3.
L’alerte de vulnérabilité a disparu de mon dépôt de github après cela.
Aucun de ce qui précède n'a fonctionné pour moi. Ma dépendance au hoek était profonde dans les sous-arbres. J'ai d'abord fait npm ls hoek
et obtenu quelque chose comme ceci:
├── [email protected]
└─┬ [email protected]
├─┬ [email protected]
│ └─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │ └── [email protected] deduped
│ ├── [email protected]
│ └─┬ [email protected]
│ └── [email protected] deduped
└─┬ [email protected]
└─┬ [email protected]
└─┬ [email protected]
├─┬ [email protected]
│ └── [email protected] deduped
├── [email protected]
└─┬ [email protected]
└── [email protected] deduped
J'ai ensuite vu que ce qu'il faut vraiment mettre à jour, c'est watson-developer-cloud
, car c'est ce qui utilise hoek au niveau supérieur.
J'ai ensuite fait npm install watson-developer-cloud@latest
et cela l'a résolu.
npm update
ne devrait fonctionner que si le paquet vulnérable est déclaré comme dépendance directe du projet. Mais généralement (comme dans le cas de hoek
) vulnérabilités se trouvent dans les paquets qui reposent bas dans votre arborescence de sous-dépendances.
Puisque dans mon cas j'ai décidé de ne pas mettre à jour toutes les dépendances de mon projet (en supprimant et en reconstruisant l'intégralité du fichier package-lock.json
), j'ai opté pour l'approche suivante (et bien sûr, plus longue):
package-lock.json
Comme:
npm r package-1 package-2 && npm i package-1@^1.2.3 package-2@^1.2.3
Cette approche ne fonctionnera que si le paquet vulnérable a été corrigé et publié et que les paquets consommateurs importent le paquet vulnérable avec un numéro de version loose ouvert aux versions correctives ou mineures .
Essayez d'exécuter npm install [email protected]
ou npm install hoek@5
dans votre projet.
Cela installera la dernière version requise de hoek dans les dépendances package.json en écrasant la version précédente dans package-lock.json.
Trouvé une solution ici .
En gros dans git bash, cd
, dans le dossier de votre projet, tapez les codes suivants:
npm i hoek
npm uninstall hoek
npm update
npm install
puis
git add .
git commit -m 'update-hoek'
git Push Origin master
Maintenant, vérifiez à nouveau votre page de projet GitHub, l'avertissement devrait disparaître.
Cordialement.
J'ai essayé tout ce qui précède, mais cela n'a pas fonctionné pour moi, alors je suis allé de l'avant pour vérifier la cause première du mien.
J'ai couru npm ls hoek
qui m'a donné:
├─┬ [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ └─┬ [email protected]
│ └── [email protected]
└── [email protected]
J'ai remarqué la version de ma hawk
par rapport à celle sur npm hawk , alors j'ai exécuté npm i hawk --save
. Après quoi, j'ai à nouveau lancé mes commandes git normales:
git add .
git commit -m 'whatever_message'
git Push
Et je suis retourné à Github et ma vulnérabilité security a été corrigée.
Oui, le package CVE-2018-3728 est vulnérable. Les versions de hoek antérieures à 4.2.1 et 5.0.3 sont vulnérables à la pollution par les prototypes . Les versions concernées de hoek sont jusqu'à la version 5.0.2, la correction consiste à mettre à jour à la version 4.2.1, 5.0.3 ou ultérieure. . Pour plus d'informations, vous pouvez consulter la demande de retrait du correctif ici: https://github.com/hapijs/hoek/pull/231/commits/5aed1a8c4a3d55722d1c799f2368857bf418d6df