security: sanitiser la sortie marked avec DOMPurify (XSS)
export-pdf-button et print-button injectaient marked(content) directement dans innerHTML / document.write. Un lien Markdown javascript: passait le filtre hasRestrictedChar et pouvait s'exécuter. Ajout de DOMPurify.sanitize() via import dynamique (déjà présent en dep transitive de jspdf) sur les deux composants, avec whitelist de tags et d'attributs stricte. markdown-renderer n'est pas touché car react-markdown-preview utilise rehype-sanitize en interne. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -5,8 +5,8 @@
|
||||
- [x] **Rate limiting** — `lib/rate-limit.js` + `middleware.js`
|
||||
- Routes protégées : `/api/auth/register` (5/15min) et `/api/auth/callback/credentials` (10/5min)
|
||||
- Logique vérifiée : comptage, blocage 429 + Retry-After, expiration fenêtre ✓
|
||||
- [ ] **CORS whitelist** — restreindre `CORS_ORIGIN=true` dans l'env Directus
|
||||
- [ ] **Sanitisation Markdown** — ajouter `isomorphic-dompurify` dans `markdown-renderer`
|
||||
- [x] **CORS whitelist** — restreindre `CORS_ORIGIN=true` dans l'env Directus
|
||||
- [x] **Sanitisation Markdown** — DOMPurify sur la sortie `marked` dans export-pdf et print-button
|
||||
|
||||
## Améliorations hautes (P2)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user