fix(security): override @expo/cli ws to ^8.20.1 (GHSA-58qx-3vcg-4xpx) (#92) #94
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#94
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-92-ws-override"
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 #92
Vuln
ws 8.0.0 - 8.20.0— moderate, "Uninitialized memory disclosure" (GHSA-58qx-3vcg-4xpx). Tiree viaexpo > @expo/cli > ws@8.20.0.Fix
Override scope dans
package.json:Seule l'instance 8.x vulnerable est bumpee (resolue en 8.21.0).
metro(ws@7.5.10) etreact-native(ws@6.2.3) restent sur leur majeur -> pas de risque de casser le dev server Metro. Pas un override blanket"ws"(qui aurait force tout en 8.x).Exploitabilite
Nulle en prod : tout
wsici est du tooling dev/build (Expo CLI, Metro, react-devtools), absent du bundle APK. L'override sert surtout a gardernpm audita zero et a stopper le re-flag du Defenseur.Verification
npm audit: 0 vulnerabilities (etait 1 moderate)npm ls ws:@expo/cli-> ws@8.21.0 overridden ; 6.2.3 / 7.5.10 intactsnpm test) : 6/6 OKnpm audit fixne reglait pas (bloque par le pin de @expo/cli sans --force)Review adversariale — APPROVE
Verdict : APPROVE (override scope, surgical, aucun blocage)
Resume
Override de dependance bien cible : bumpe la seule instance
ws@8.20.0vulnerable (sous@expo/cli) vers8.21.0, resout GHSA-58qx-3vcg-4xpx sans toucher les arbresws6.x/7.x utilises par Metro et react-native. Toutes les affirmations du corps de la PR sont verifiees contre la branche.Verifications effectuees
9ee5372) touche exactementpackage.json+package-lock.json— correspond au diff fourni (confirme via diff 3-points).wsdu lockfile auditees :@react-native/dev-middleware/.../wsexpo/node_modules/ws(cible)react-native/node_modules/wsnode_modules/ws(hoisted/metro)Aucune ne reste dans la plage vulnerable ; l'override scope a frappe uniquement l'instance 8.x.
@expo/cli->ws, donc impossible de force-downgrade/upgrade les arbres 6.x/7.x. La promesse « ne casse pas Metro » tient.package.json/ lockfile /app.jsontous a 1.6.4,versionCode16. JSON valide.wsici est du tooling dev/build, absent du bundle APK -> exploitabilite prod nulle, comme indique.Notes non bloquantes (aucune action requise)
overridesn'est pas serialise dans la racine du lockfile (packages[""]). Verifie comme comportement pre-existant et coherent : master a deja 4 overrides (esbuild, xmldom, uuid, postcss) et aucun n'apparait dans la racine non plus. L'override est correctement reflete par la version resolue dans l'arbre. Pas une regression.mergeable: trueexact, pas de conflit sur la version 1.6.4 partagee. Rebase optionnel (historique lineaire) mais non requis.tests/smoke.test.cjs) n'asserte rien de specifique aws— c'est un check generique JSON/uuid. Un testws-specifique exigerait de demarrer Expo CLI/Metro (hors scope d'un smoke node pur), donc acceptable pour un override de tooling dev.