[security] deps: vulnerability in braces (high) -- plancher, suivi #130

Open
opened 2026-10-05 23:21:42 +00:00 by maximus · 0 comments
Owner

Detection

Detecte par le Defenseur defenseur-simpl-liste le 2026-10-05T05:15:12Z (35 findings, 5 advisories). Confirme par npm audit sur master (84048e9) apres npm ci : 33 cles (29 high, 3 moderate, 1 low).

Findings

22 findings HIGH pour une seule advisory (inflation transitive) :

  • [HIGH] defenseur-simpl-liste-deps-npm-audit-simpl-liste-braces — GHSA-vfj7-8cjw-p6xm (publiee 2026-09-18), « stack-exhaustion denial of service through deeply nested patterns », borne <=3.0.3
  • Parents : micromatch, fast-glob, chokidar, tailwindcss, nativewind, react-native-css-interop, metro, metro-config, metro-file-map, metro-transform-worker, @expo/metro, @expo/metro-config, @expo/cli, expo, jest-haste-map, jest-message-util, jest-environment-node, @jest/environment, @jest/fake-timers, @jest/transform, babel-jest, react-native, @react-native/community-cli-plugin, find-yarn-workspace-root, patch-package, @react-native-community/datetimepicker, react-native-android-widget

Analyse

  • Plancher : la tete publiee braces@3.0.3 est dans la borne du CVE (first_patched_version = null). Aucune version corrigee, aucun majeur 4.x.
  • Une seule instance dans l'arbre : micromatch@4.0.8 -> braces@3.0.3, consommee par metro (file map), jest, tailwind (globs content), fast-glob, chokidar, patch-package.
  • Les fixAvailable proposes (react-native@0.87.1, tailwindcss@4, patch-package@6.0.7) sont des artefacts de cascade semver-major : a ecarter.
  • Surface : braces n'expanse que des motifs glob ecrits dans la config du projet (metro, tailwind, jest) pendant le build et le dev. Aucun import dans app/ ni src/ ; rien dans l'APK ; aucune entree attaquant n'atteint ces motifs. Severite effective : hardening, pas un incident.

Resolution suggeree

Rien a corriger aujourd'hui. Surveiller les deux bouts :

npm view braces versions --json | jq '.[-1]'          # > 3.0.3 ?
npm view micromatch versions --json | jq '.[-1]'      # micromatch largue braces ? (4.0.8 aujourd'hui)
npm view micromatch@latest dependencies

Des qu'une version hors borne existe : override "braces": "^<version>" (une seule version dans l'arbre, blanket acceptable), verifier node -e "const m=require('micromatch'); console.log(m(['a/b.js'], '**/*.{js,ts}'))" et le smoke test, puis npm audit qui doit perdre ~22 cles d'un coup.


Issue cree par /analyse-vulnerabilite. Le Defenseur ne porte pas encore l'etat accepted (rapport regenere a chaque scan, editer le JSON est un no-op). Pour un faux positif : fermer l'issue avec un commentaire d'analyse. Pour une vraie cause racine cote scanner : ouvrir une issue dans agent-defenseurs.

## Detection Detecte par le Defenseur **defenseur-simpl-liste** le 2026-10-05T05:15:12Z (35 findings, 5 advisories). Confirme par `npm audit` sur master (`84048e9`) apres `npm ci` : 33 cles (29 high, 3 moderate, 1 low). ## Findings 22 findings HIGH pour **une seule advisory** (inflation transitive) : - [HIGH] `defenseur-simpl-liste-deps-npm-audit-simpl-liste-braces` — GHSA-vfj7-8cjw-p6xm (publiee 2026-09-18), « stack-exhaustion denial of service through deeply nested patterns », borne `<=3.0.3` - Parents : `micromatch`, `fast-glob`, `chokidar`, `tailwindcss`, `nativewind`, `react-native-css-interop`, `metro`, `metro-config`, `metro-file-map`, `metro-transform-worker`, `@expo/metro`, `@expo/metro-config`, `@expo/cli`, `expo`, `jest-haste-map`, `jest-message-util`, `jest-environment-node`, `@jest/environment`, `@jest/fake-timers`, `@jest/transform`, `babel-jest`, `react-native`, `@react-native/community-cli-plugin`, `find-yarn-workspace-root`, `patch-package`, `@react-native-community/datetimepicker`, `react-native-android-widget` ## Analyse - **Plancher** : la tete publiee `braces@3.0.3` est dans la borne du CVE (`first_patched_version = null`). Aucune version corrigee, aucun majeur 4.x. - Une seule instance dans l'arbre : `micromatch@4.0.8 -> braces@3.0.3`, consommee par metro (file map), jest, tailwind (globs `content`), fast-glob, chokidar, patch-package. - Les `fixAvailable` proposes (`react-native@0.87.1`, `tailwindcss@4`, `patch-package@6.0.7`) sont des artefacts de cascade semver-major : a ecarter. - **Surface** : `braces` n'expanse que des motifs glob ecrits dans la config du projet (metro, tailwind, jest) pendant le build et le dev. Aucun import dans `app/` ni `src/` ; rien dans l'APK ; aucune entree attaquant n'atteint ces motifs. Severite effective : hardening, pas un incident. ## Resolution suggeree Rien a corriger aujourd'hui. Surveiller les deux bouts : ```bash npm view braces versions --json | jq '.[-1]' # > 3.0.3 ? npm view micromatch versions --json | jq '.[-1]' # micromatch largue braces ? (4.0.8 aujourd'hui) npm view micromatch@latest dependencies ``` Des qu'une version hors borne existe : override `"braces": "^<version>"` (une seule version dans l'arbre, blanket acceptable), verifier `node -e "const m=require('micromatch'); console.log(m(['a/b.js'], '**/*.{js,ts}'))"` et le smoke test, puis `npm audit` qui doit perdre ~22 cles d'un coup. --- _Issue cree par /analyse-vulnerabilite. Le Defenseur ne porte pas encore l'etat `accepted` (rapport regenere a chaque scan, editer le JSON est un no-op). Pour un **faux positif** : fermer l'issue avec un commentaire d'analyse. Pour une **vraie cause racine cote scanner** : ouvrir une issue dans `agent-defenseurs`._
maximus added the
type:security
source:defenseur
labels 2026-10-05 23:21:42 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/simpl-liste#130
No description provided.