fix(security): bump @react-navigation/core to 7.22.1 via override #119
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/simpl-liste#119
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-117-react-navigation-core-7.22.1"
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?
Fixes #117
Supersedes #118 (closed: blanket
npm audit fixbroke the build).Change
overrides:"@react-navigation/core": "^7.22.1". Root cause isdecode-uri-component <= 0.4.2(GHSA-vcc3-ghjq-m6fr) reached throughquery-string; core 7.22.1 no longer depends onquery-string.@react-navigation/core7.14.0 -> 7.22.1,@react-navigation/routers7.5.3 -> 7.6.4).tests/smoke.test.cjs: toolchain guards (root resolution ofbabel-preset-expoand@expo/metro-config/babel-transformer, single Expo SDK major, metro 0.83.x everywhere), core version check, deep link round trip with query params.Verification
npm test: smoke 19/19, feedback 11/11.e15dba2) -> the 4 toolchain checks fail (un-hoisted presets, nested Expo 57, metro drift).npx expo export --platform android: OK (Hermes bundle 8.19 MB).npm audit --json:@react-navigation/coregone from.vulnerabilities.Out of scope (still reported by npm audit)
expo-router->query-string@7->decode-uri-component@0.2.2: the only patched version (0.5.0) is ESM-only and cannot be overridden under the CJSquery-string@7; expo-router 6.0.24 still depends onquery-string ^7. Needs an expo-router / SDK upgrade. Tracked in a follow-up issue.@xmldom/xmldom,js-yaml,postcss-selector-parser: separate findings.Not tested on device: navigation at runtime (bundle + node-level linking check only).
🤖 Generated with Claude Code
Revue adversariale — PR #119
Verdict : APPROVE
Résumé : override ciblé et minimal (2 entrées de lock), qui retire
query-stringde@react-navigation/coresans toucher la chaîne de build ; les gardes de toolchain ajoutées ciblent le mode d'échec réel de #118.Vérifications faites par le relecteur
npm testsurf7b2b51: smoke vert, feedback 11/11.node --preserve-symlinks,@react-navigation/coreremplacé par 7.14.0 issu denpm pack) : le check@react-navigation/core is >= 7.22.1 and drops query-stringtombe (1 test rouge, « 7.14.0 is vulnerable »). Contrôle avec 7.22.1 dans le même environnement : vert. Arbre du dépôt inchangé après coup.@react-navigation/native7.1.28 déclarecore ^7.14.0(override dans la plage) et faitexport * from '@react-navigation/core'. Tous les symboles importés depuis@react-navigation/corepar native / native-stack / bottom-tabs / elements existent dans 7.22.1, ainsi que ceux consommés parexpo-routervianative_1.*(useStateForPath,validatePathConfig,usePreventRemoveContext, etc.).?q=%E0%A4%A,?x=%ZZ) : pas d'exception, la valeur brute est conservée. Les paramètres répétés (?a=1&a=2) donnent toujours un tableau, comme avant avecquery-string.Fixes #117présent dans le message de commit ; le suivi hors périmètre existe (#120,status:blocked).Suggestions (non bloquantes)
tests/smoke.test.cjs, check « deep link round trip ») : l'app ne résout pas ses deep links via@react-navigation/coremais via le fork d'expo-router(expo-router/build/fork/getStateFromPath*.js, qui dépend toujours dequery-string@7). Le test couvre core, pas le chemin réel de l'app. Le commentaire du test gagnerait à le préciser, sans quoi on peut le lire comme une couverture des deep linkssimplliste://task/<id>.🤖 Generated with Claude Code