[security] deps: vulnerability in vite (high) #483

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

Detection

Source : npm audit sur main (6e8e157, node_modules à jour), le 2026-10-20. Absent du rapport Défenseur defenseur-simpl-resultat du 2026-10-20T05:20:05Z (14 checks, 0 finding) : les trois avis ont été publiés le 2026-10-20 entre 18:30 et 19:52 UTC, après le scan. Le scan du 2026-10-21 devrait les remonter.

Antécédent : #236 (fermée le 2026-07-02, GHSA-fx2h-pf6j-xcff et GHSA-v6wh-96g9-6wx3), bump de vite dans la ligne 6.4.x. Autres avis, même paquet, même méthode.

Findings

  • [HIGH] GHSA-587h-7wmj-h5pm — launch-editor: fs.existsSync() existence check can be bypassed on Windows (CWE-77)
  • [MODERATE] GHSA-698v-4r3x-3vcv — launch-editor: escapeCmdArgs() omits % escaping on Windows (CWE-78)
  • [MODERATE] GHSA-r825-w8mm-5pxw — launch-editor: Editor CLI flag misinterpretation causing arbitrary command execution for some editors (CWE-88)

Paquet : vite 6.4.3 (dépendance directe, "vite": "^6.4.3", dédupliquée sous @tailwindcss/vite, @vitejs/plugin-react, vitest et @vitest/mocker). Plage affectée de la ligne 6.x : <= 6.4.3, premier correctif 6.4.4 (publiée le 2026-10-06). launch-editor est embarqué dans vite : vite@6.4.4 déclare launch-editor-middleware ^2.14.2, et launch-editor est corrigé en 2.14.2. npm audit : fixAvailable: true (pas de majeur).

Surface

Nulle dans l'app livrée. launch-editor sert le middleware /__open-in-editor du serveur de dev (vite dev, tauri dev), jamais le binaire Tauri ni le bundle produit par vite build. Exposition réelle : poste de développement, sous Windows pour GHSA-587h et GHSA-698v. Durcissement pour garder npm audit à 0, pas un incident.

Resolution suggeree

  1. "vite": "^6.4.4" dans package.json, npm install (lock régénéré par npx npm@11 si npm 10 plante sur l'arbre vitest, voir la mémoire du projet).
  2. Vérifier : npm ls vite tout en 6.4.4, compte de paquets avant/après identique, npm audit à 0, npm run build et npm test verts.
  3. CHANGELOG ### Security / ### Sécurité dans les deux langues (outil de développement seulement, rien ne change dans l'app livrée).

Issue cree par /analyse-vulnerabilite, suivie dans decisions.json (agent-defenseurs) par une decision to-fix. Pour un faux positif ou un risque assume : relancer /analyse-vulnerabilite et choisir Bloquer ou Accepter, qui remplace la decision. Pour une vraie cause racine cote scanner : ouvrir une issue dans agent-defenseurs.

## Detection Source : `npm audit` sur `main` (`6e8e157`, `node_modules` à jour), le 2026-10-20. Absent du rapport Défenseur **defenseur-simpl-resultat** du 2026-10-20T05:20:05Z (14 checks, 0 finding) : les trois avis ont été publiés le 2026-10-20 entre 18:30 et 19:52 UTC, après le scan. Le scan du 2026-10-21 devrait les remonter. Antécédent : #236 (fermée le 2026-07-02, GHSA-fx2h-pf6j-xcff et GHSA-v6wh-96g9-6wx3), bump de `vite` dans la ligne 6.4.x. Autres avis, même paquet, même méthode. ## Findings - [HIGH] GHSA-587h-7wmj-h5pm — launch-editor: `fs.existsSync()` existence check can be bypassed on Windows (CWE-77) - [MODERATE] GHSA-698v-4r3x-3vcv — launch-editor: `escapeCmdArgs()` omits `%` escaping on Windows (CWE-78) - [MODERATE] GHSA-r825-w8mm-5pxw — launch-editor: Editor CLI flag misinterpretation causing arbitrary command execution for some editors (CWE-88) Paquet : `vite` 6.4.3 (dépendance directe, `"vite": "^6.4.3"`, dédupliquée sous `@tailwindcss/vite`, `@vitejs/plugin-react`, `vitest` et `@vitest/mocker`). Plage affectée de la ligne 6.x : `<= 6.4.3`, premier correctif `6.4.4` (publiée le 2026-10-06). `launch-editor` est embarqué dans vite : `vite@6.4.4` déclare `launch-editor-middleware ^2.14.2`, et `launch-editor` est corrigé en 2.14.2. `npm audit` : `fixAvailable: true` (pas de majeur). ## Surface Nulle dans l'app livrée. `launch-editor` sert le middleware `/__open-in-editor` du serveur de dev (`vite dev`, `tauri dev`), jamais le binaire Tauri ni le bundle produit par `vite build`. Exposition réelle : poste de développement, sous Windows pour GHSA-587h et GHSA-698v. Durcissement pour garder `npm audit` à 0, pas un incident. ## Resolution suggeree 1. `"vite": "^6.4.4"` dans `package.json`, `npm install` (lock régénéré par `npx npm@11` si npm 10 plante sur l'arbre vitest, voir la mémoire du projet). 2. Vérifier : `npm ls vite` tout en 6.4.4, compte de paquets avant/après identique, `npm audit` à 0, `npm run build` et `npm test` verts. 3. CHANGELOG `### Security` / `### Sécurité` dans les deux langues (outil de développement seulement, rien ne change dans l'app livrée). --- _Issue cree par /analyse-vulnerabilite, suivie dans `decisions.json` (agent-defenseurs) par une decision `to-fix`. Pour un **faux positif** ou un **risque assume** : relancer /analyse-vulnerabilite et choisir Bloquer ou Accepter, qui remplace la decision. Pour une **vraie cause racine cote scanner** : ouvrir une issue dans `agent-defenseurs`._
maximus added the
status:ready
type:security
source:defenseur
labels 2026-10-21 00:05:23 +00:00
Author
Owner

Décision de Max (2026-10-20) : traiter cette issue dans la même PR que #484 (RUSTSEC-2026-0382 et -0383 sur le lock Rust), un commit par issue. La PR porte Resolves #483 et Refs #484, puisque #484 se ferme à la main après le workflow_dispatch d'audit.yml sur main. Le correctif part avec la prochaine release. Analyse de #484 : corps de l'issue, section « Analyse ».

**Décision de Max (2026-10-20)** : traiter cette issue dans la même PR que #484 (RUSTSEC-2026-0382 et -0383 sur le lock Rust), un commit par issue. La PR porte `Resolves #483` et `Refs #484`, puisque #484 se ferme à la main après le `workflow_dispatch` d'`audit.yml` sur `main`. Le correctif part avec la prochaine release. Analyse de #484 : corps de l'issue, section « Analyse ».
Author
Owner

En cours dans la session Coupure d'API (/fix-issue 484, 2026-10-20). Décision de Max, à l'instant, qui tranche entre les deux sections « Analyse » du corps : une seule PR pour #484 et #483, depuis main (45d8493), deux commits, Refs #484 et Resolves #483. Ne pas ouvrir de seconde branche pour ces deux issues.

**En cours dans la session `Coupure d'API`** (`/fix-issue 484`, 2026-10-20). Décision de Max, à l'instant, qui tranche entre les deux sections « Analyse » du corps : une seule PR pour #484 et #483, depuis `main` (`45d8493`), deux commits, `Refs #484` et `Resolves #483`. Ne pas ouvrir de seconde branche pour ces deux issues.
maximus added
status:in-progress
and removed
status:ready
labels 2026-10-21 01:02:51 +00:00
maximus added
status:review
and removed
status:in-progress
labels 2026-10-21 01:41:40 +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-Resultat#483
No description provided.