Skip to content

release: v0.11.17 — hardening validateur (SB-RCE-2026-01) - #503

Merged
simonLouvet merged 3 commits into
productionfrom
master
Aug 26, 2026
Merged

simonLouvet merged 3 commits into
productionfrom
master

Conversation

@simonLouvet

Copy link
Copy Markdown
Collaborator

Migration de master vers production : release v0.11.17 (hardening du moteur d'évaluation, validateur 100 % whitelist, raw-eval éliminé).

simon louvet and others added 3 commits August 26, 2026 19:28
…-2026-01)

Hardening complet suite à la review v0.11.2 du chercheur (Maxim Yakovlev) :

- constant-folding des clés computed statiquement résolubles
  ('con'+'structor' -> bloqué) ;
- whitelist étendue à toutes les libs du scope eval (dotProp, cheerio,
  sanitizeHtml, removeMarkdown, decodeUnicode) ;
- LIB_FORBIDDEN_METHODS (blacklist) supprimé -> modèle 100 % whitelist ;
- objets produits whitelistés (PRODUCED_WHITELISTS + inférence de type
  d'appel exprType) : dayjs/moment/cheerio/crypto-hash/Buffer.from ;
- JS intrinsics en whitelist stricte : Reflect, Proxy, Object.getPrototypeOf,
  getOwnPropertyDescriptor, defineProperty, setPrototypeOf bloqués
  (vecteur introspection argument-string fermé) ;
- sanitizeValue dans runEvalInRemote (avant sérialisation) + contrat
  documenté dans evalWorker.js/secureContext.js ;
- raw-eval ÉLIMINÉ : evalWorker.js/runEvalInWorker/workerGlobals.js engine
  supprimés -> l'engine n'a plus aucune évaluation interne, seul chemin =
  runEvalInRemote (HTTP signé -> eval-service). Tests unitaires = logique du
  container (secureContext.js de l'eval-service) ;
- code mort retiré : escapeString/resolveString/parseAndResolveString +
  unicode-encode (engine + eval-service) ;
- advisory SB-RCE-2026-01 mise à jour (correctifs + résiduel documenté
  comme non-vulnérabilité).
…hitelist-hardening

security(eval): validateur 100 % whitelist + raw-eval éliminé (SB-RCE-2026-01)
@simonLouvet
simonLouvet merged commit a99bdaa into production Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant