fix(deps): patch @react-navigation/core moderate vuln #118
No reviewers
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/simpl-liste#118
Loading…
Reference in a new issue
No description provided.
Delete branch "defenseur-auto/555fcee5a0-1789711205793"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Vuln modérée détectée dans
@react-navigation/core(pas de GHSA assigné).Fix:
npm audit fixmet à jour les transitifs danspackage-lock.json.Tests:
npm testpass (smoke OK, 9/9).Source: defenseur-auto 2026-09-18.
Closes #<ISSUE_NUMBER>
🤖 Generated with Claude Code
Closes #117
WIP: fix(deps): patch @react-navigation/core moderate vulnto fix(deps): patch @react-navigation/core moderate vulnReview — REQUEST_CHANGES
Résumé : le
npm audit fixmonte bien@react-navigation/core7.14.0 → 7.22.1, mais il réécrit 272 entrées du lock, embarque un second SDK Expo (57) imbriqué et retire deux paquets top-level dont la config de build dépend. Le smoke test passe, mais le bundling Metro/Babel est cassé. La branche est en plus en conflit avecmaster.Problèmes bloquants
babel-preset-expoet@expo/metro-configdisparaissent du top-level (package-lock.json). Ils sont déplacés sousnode_modules/expo/node_modules/. Or :babel.config.js:5résout"babel-preset-expo"depuis la racine du projet ;sql-transformer.js:1faitrequire("@expo/metro-config/babel-transformer")depuis la racine.Vérifié avec
npm ci --ignore-scriptssur le lock de la PR (e15dba2) :Le même contrôle sur le lock de la base (
fccd7fa) rendOKpour les deux.expo startet le build EAS échoueraient au premier bundle.npm testreste vert (smoke OK) parce que le smoke test ne lance ni Babel ni Metro : la mention « tests pass » dans le corps de la PR ne couvre pas cette régression.Un SDK Expo 57 est imbriqué dans Expo 54 :
node_modules/expo/node_modules/expo@57.0.23, avec@expo/cli@57,expo-modules-core@57,expo-modules-autolinking@57,react-native-worklets@0.10, metro 0.84.5,@react-native/*0.86/0.87, et un@react-native/metro-config@0.87.1au top-level (149 entrées ajoutées au total). La cause : des paquets sousexpo/déclarent un peerexpo: "*", et npm l'a résolu vers la dernière version publiée. Ce n'est pas un correctif ciblé. Cet arbre contourne aussi les pins de sécurité posés récemment (overrides metro^0.83.8de #114, par exemple).Branche périmée et non fusionnable (
mergeable: false). La base estfccd7fa; depuis,mastera reçu #101, #105, #109, #111, #114 et #116, qui modifient touspackage.json(overrides) etpackage-lock.json. Un rebase ne suffit pas : le lock doit être régénéré contre lepackage.jsonactuel.Correctif proposé
Repartir de
masteret viser la dépendance seule, sansnpm audit fixglobal :Ensuite, vérifier que
node_modules/babel-preset-expoetnode_modules/@expo/metro-configrestent au top-level, qu'aucunnode_modules/expo/node_modules/expon'apparaît, et lancer un vrai bundle (npx expo export --platform android) en plus denpm test. Une piste pour la CI : ajouter au smoke test unrequire.resolvede ces deux modules, ce qui aurait rougi sur cette PR.Remarques non bloquantes
Closes #<ISSUE_NUMBER>, en plus duCloses #117valide. Le message de commit ne contient aucun mot-clé de fermeture.Closing in favor of a targeted fix from current master (see review above):
npm audit fixrewrote 272 lock entries, broke babel-preset-expo / @expo/metro-config hoisting and pulled a nested Expo 57 tree. Superseded by /fix-issue 117.Pull request closed