fix(security): raise brace-expansion and undici override floors #127
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#127
LoadingâŠ
Reference in a new issue
No description provided.
Delete branch "issue-124-125-brace-expansion-undici-floors"
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 #124
Fixes #125
Summary
brace-expansion: the three version-scoped overrides go to the patched head of each major:^1.1.21,^2.1.7,^5.0.12(9 new DoS advisories outdated the #103 floors). No blanket override.undici: scoped override@expo/cli > undicigoes from^6.28.0to^6.28.1, resolved to6.29.0.tests/smoke.test.cjs: three new checks. Issue #124 mentions a minimatch test in the smoke file; none existed, this PR adds it.brace-expansioncopy is at or above its major floor (unknown major fails);undicicopy is >= 6.28.1;minimatchcopy (majors 3, 9, 10) still matches globstar, brace sets and numeric ranges.Verification
npm testafter the bumpnpm ls brace-expansion undiciinvalidnpm ls | wc -lnpm auditbrace-expansionandundicigonenpx expo export --platform androidnpm ci(npm 10.9.4, withpatches/)Remaining
npm auditentries: node-forge cascade (#123, blocked upstream), decode-uri-component cascade (#126), postcss-selector-parser (low).Not tested: dev server (
expo start) and an EAS build on device.đ€ Generated with Claude Code
Review â APPROVE
Résumé. Le correctif fait ce qu'il annonce : les trois overrides version-scoped de
brace-expansionpassent Ă la tĂȘte patchĂ©e de chaque majeur, l'override scopĂ©@expo/cli > undicipasse Ă^6.28.1(rĂ©solu en 6.29.0), et trois checks de smoke verrouillent les planchers. Aucun point bloquant.Le dĂ©pĂŽt n'a pas de CI (aucun statut sur
84d0418) : la suite et les mutations ont Ă©tĂ© rejouĂ©es par le relecteur.VĂ©rifiĂ© par le relecteur (tĂȘte
84d0418)npm test(node 22.22.0, npm 10.9.4)npm ls brace-expansion undici minimatchinvalidnpm auditbrace-expansionetundiciabsentssha512du diff sont identiques Ănpm view <pkg>@<v> dist.integrity1.x=1.1.21,2.x=2.1.7,latest=5.0.12, undicisix=6.29.0 : les planchers sont bien les tĂȘtes de ligneversion/resolved/integrityseulementpull_refde #127 avecref_action: closes;FixesprĂ©sent aussi dans le message de commitMutations (copie hors dĂ©pĂŽt, arbre du dĂ©pĂŽt inchangĂ©)
brace-expansion5.0.12 posé sous leminimatch@3dereact-nativeexpand is not a function) ; le check de plancher reste vert, c'est bien le test minimatch qui porte cette régressionLes trois checks ajoutés détectent chacun le défaut qu'ils sont censés interdire.
Non rejoué
npx expo export --platform androidet lenpm cien salle blanche annoncés dans le corps de la PR n'ont pas été rejoués ici. Le dev server et un build EAS restent non testés, comme le dit la PR.Suggestions (non bloquantes)
tests/smoke.test.cjs:298â le check undici n'a pas de borne par majeur : une copie 7.x ou 8.x vulnĂ©rable passerait (>= 6.28.1au sens semver). Une seule copie existe aujourd'hui ; une table de planchers par majeur, comme pourbrace-expansion, fermerait le trou.tests/smoke.test.cjs:273âversionAtLeastne gĂšre pas les prereleases (6.29.0-beta.1donneNaNsur le dernier segment). Sans effet sur l'arbre actuel.tests/smoke.test.cjs:314â la liste figĂ©e des majeurs de minimatch (3,9,10) rougira sur un bump lĂ©gitime d'Expo. Comportement voulu (« fail loudly »), Ă garder en tĂȘte lors du prochain upgrade de SDK.