Le bac a sable eprouve 0.14.0, et un RCE critique de next sortait du bois #11

Merged
nicolas-fryder merged 1 commit from nicolas-fryder/dev into main 2026-10-07 08:11:19 +00:00 AGit

Etape 4 de D-037 pour les @eqs/* 0.14.0, verte, deux fois. Et next releve de ^16.3.4 a ^16.3.6 (resolu 16.3.7) : GHSA-vcvr-r3jv-pc5j, RCE dans next/og, CRITICAL.

Etape 4 de D-037 pour les @eqs/* 0.14.0, verte, deux fois. Et next releve de ^16.3.4 a ^16.3.6 (resolu 16.3.7) : GHSA-vcvr-r3jv-pc5j, RCE dans next/og, CRITICAL.
Le bac à sable éprouve 0.14.0, et un RCE critique sortait du bois
Some checks failed
ci.yml / Le bac à sable éprouve 0.14.0, et un RCE critique sortait du bois (pull_request) Failing after 0s
e6389e9bef
## L'étape 4 de D-037

Les dix `@eqs/*` passent en `^0.14.0` dans les trois manifestes. Le verrou les
résout **depuis les tarballs du registre**, pas depuis un workspace — c'est tout
l'intérêt de cette étape. Montée jusqu'au service déployé :

    statut : finished
    servi sur https://web.eqs-cible.sslip.io
    tout CE QUI POUVAIT ÊTRE VÉRIFIÉ répond, et comme convenu

Une seule sonde non exécutable, et déclarée comme telle : `auth.403-audience`,
faute de `MS_TENANT_ID`, `MS_CLIENT_ID`, `MS_CLIENT_SECRET` et `ENTRA_AUDIENCE`
sur l'instance jetable. Un contrôle qui dit ne pas pouvoir se prononcer n'est pas
un échec.

0.14.0 est promue en `latest` depuis. 0.13.0 ne l'a jamais été et ne le sera
jamais : ce même bac à sable l'avait trouvée rouge sur le `BREAK_GLASS_SECRET` de
la pile e2e.

## `next` : un RCE CRITICAL que la porte cachait

Le `pre-commit` a refusé ce commit, et il avait raison :

    [bloquant] audit.dependance — next/GHSA-vcvr-r3jv-pc5j : CRITICAL next —
    Next.js: Remote Code Execution in next/og ImageResponse

Vulnérable `>=16.2.0 <16.3.6` ; `apps/web` était en `^16.3.4`. Relevé à `^16.3.6`,
résolu en **16.3.7**, et `eqs audit` rend maintenant « 0 alerte high/critical en
production, aucune alerte non dispensée ».

**Pas de dispense.** Le correctif existe ; dispenser un RCE critique corrigeable
serait un contournement avec une date dessus.

Ce qui reste visible et doit le rester : `multer` et `fast-uri`, MODERATE, arrivés
ici par les intervalles publiés de `@eqs/platform-nest`. Ils ne bloquent pas la
porte, et **ils ne sont pas masqués par un override** — ce dépôt existe pour
montrer ce qu'un satellite reçoit vraiment. Les corriger se fait dans le paquet,
pas ici.

## Deux montées, pas une

Le bac à sable a tourné **avant** le relèvement de `next` (16.3.4) et **après**
(16.3.7). Les deux verts, même verdict. La seconde existe parce qu'un artefact
qu'on modifie après l'avoir éprouvé n'est plus éprouvé : ce que ce commit dit
avoir validé est bien ce qu'il contient.

## Pourquoi ce commit existe

La passe 0.13.0 avait laissé le même bump **non committé**. Le bump EST la trace
de la version que le bac à sable a jugée ; non committé, il ne dit plus rien trois
jours plus tard. C'est exactement l'état dans lequel `eqs-platform` #94 a trouvé
les choses, à devoir deviner quelle version avait été éprouvée.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
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
Infrastructure/eqs-demo!11
No description provided.