Vulnerabilite postcss (npm audit moderate) #180

Closed
opened 2026-05-01 01:39:33 +00:00 by maximus · 0 comments
Owner

Source

Defenseur run du 2026-04-30 (defenseur-simpl-resultat).

Finding

Severite Package Location
MEDIUM postcss simpl-resultat/package.json (transitif via vite)

npm audit (advisory GHSA-qx2v-qp2m-jg93 — XSS via </style> non echappe dans Stringifier).

Analyse

  • postcss est une dependance purement transitive : vite@6.4.2 → postcss@8.5.6.
  • Range vite : ^8.5.3 → accepte deja le fix sans bump majeur. Bump effectif : 8.5.6 → 8.5.13.
  • Aucun usage direct dans le code : pas de postcss.config.*, aucune reference dans src/, ni dans vite.config.ts. Tailwind v4 passe par @tailwindcss/vite (lightningcss), pas postcss.
  • Exposition runtime nulle : postcss tourne uniquement au build, jamais embarque dans le binaire Tauri livre. Le path vulnerable (Stringifier.raw() re-emettant du CSS contenant </style>) n'est pas atteignable depuis nos sources.
  • Precedent dans le CHANGELOG : Updated picomatch dependency (4.0.3 → 4.0.4) to fix HIGH severity vulnerabilities (#43) sous ### Fixed.

Travail a faire

  • npm audit fix (bump postcss 8.5.6 → 8.5.13 dans package-lock.json, aucune modif package.json)
  • npm audit → 0 vulnerabilite
  • npm run build (tsc + vite) reussit
  • npm test (vitest) passe
  • Entree ### Fixed dans CHANGELOG.md + CHANGELOG.fr.md (precedent : picomatch #43)
  • PR vers main, CI vert, merge

Fichiers concernes

  • package-lock.json — bump postcss + reorganisation lockfile par npm
  • CHANGELOG.md — ligne ### Fixed
  • CHANGELOG.fr.md — ligne ### Corrige

Surface de test

  • 21 fichiers vitest existants (services, hooks, integration) — aucun ne touche postcss.
  • L'oracle effectif du fix est npm run build (CI frontend) qui exerce le pipeline Vite + postcss.
  • Pas de test additionnel a ecrire (pas de comportement applicatif change).

Strategie retenue

npm audit fix seul, suit la prescription de l'issue. Pas d'overrides ajoute en package.json (eviter dette de maintenance pour une dep transitive build-time).

Complexite estimee

Simple — fix lockfile-only, ~5 min de travail effectif + CI.

Acceptance criteria

  • npm audit ne signale plus la vulnerabilite postcss
  • Build Tauri passe (npm run tauri build ou equivalent CI)
  • Tests passent
  • Le prochain run defenseur-simpl-resultat ne contient plus le finding defenseur-simpl-resultat-deps-npm-audit-simpl-resultat-postcss

Solution

npm audit fix
npm audit                        # verify clean
npm run build                    # tsc + vite
npm test                         # vitest
## Source Defenseur run du 2026-04-30 (`defenseur-simpl-resultat`). ## Finding | Severite | Package | Location | |---|---|---| | MEDIUM | postcss | `simpl-resultat/package.json` (transitif via `vite`) | `npm audit` (advisory GHSA-qx2v-qp2m-jg93 — XSS via `</style>` non echappe dans `Stringifier`). ## Analyse - `postcss` est une dependance **purement transitive** : `vite@6.4.2 → postcss@8.5.6`. - Range vite : `^8.5.3` → accepte deja le fix sans bump majeur. Bump effectif : `8.5.6 → 8.5.13`. - **Aucun usage direct** dans le code : pas de `postcss.config.*`, aucune reference dans `src/`, ni dans `vite.config.ts`. Tailwind v4 passe par `@tailwindcss/vite` (lightningcss), pas postcss. - **Exposition runtime nulle** : postcss tourne uniquement au build, jamais embarque dans le binaire Tauri livre. Le path vulnerable (`Stringifier.raw()` re-emettant du CSS contenant `</style>`) n'est pas atteignable depuis nos sources. - Precedent dans le CHANGELOG : `Updated picomatch dependency (4.0.3 → 4.0.4) to fix HIGH severity vulnerabilities (#43)` sous `### Fixed`. ## Travail a faire - [ ] `npm audit fix` (bump `postcss 8.5.6 → 8.5.13` dans `package-lock.json`, aucune modif `package.json`) - [ ] `npm audit` → 0 vulnerabilite - [ ] `npm run build` (tsc + vite) reussit - [ ] `npm test` (vitest) passe - [ ] Entree `### Fixed` dans `CHANGELOG.md` + `CHANGELOG.fr.md` (precedent : picomatch #43) - [ ] PR vers `main`, CI vert, merge ## Fichiers concernes - `package-lock.json` — bump postcss + reorganisation lockfile par npm - `CHANGELOG.md` — ligne `### Fixed` - `CHANGELOG.fr.md` — ligne `### Corrige` ## Surface de test - 21 fichiers vitest existants (services, hooks, integration) — aucun ne touche postcss. - L'oracle effectif du fix est `npm run build` (CI `frontend`) qui exerce le pipeline Vite + postcss. - Pas de test additionnel a ecrire (pas de comportement applicatif change). ## Strategie retenue **`npm audit fix` seul**, suit la prescription de l'issue. Pas d'`overrides` ajoute en package.json (eviter dette de maintenance pour une dep transitive build-time). ## Complexite estimee **Simple** — fix lockfile-only, ~5 min de travail effectif + CI. ## Acceptance criteria - [ ] `npm audit` ne signale plus la vulnerabilite postcss - [ ] Build Tauri passe (`npm run tauri build` ou equivalent CI) - [ ] Tests passent - [ ] Le prochain run `defenseur-simpl-resultat` ne contient plus le finding `defenseur-simpl-resultat-deps-npm-audit-simpl-resultat-postcss` ## Solution ```bash npm audit fix npm audit # verify clean npm run build # tsc + vite npm test # vitest ```
maximus added the
status:ready
type:security
source:defenseur
labels 2026-05-01 01:39:33 +00:00
maximus added
status:review
and removed
status:ready
labels 2026-05-03 19:21:57 +00:00
maximus added
status:approved
and removed
status:review
labels 2026-05-03 19:28:58 +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#180
No description provided.