securite: #87 T6-T8 fin dette — deps qualifiées, semgrep, Secure auto, CORS
This commit is contained in:
+34
-1
@@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
|
||||
et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
> **En cours de développement** : les changements à venir sont listés dans la section
|
||||
> [Unreleased](#unreleased). La dernière version livrée est **2.28.14**.
|
||||
> [Unreleased](#unreleased). La dernière version livrée est **2.28.15**.
|
||||
|
||||
---
|
||||
|
||||
@@ -14,6 +14,39 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
---
|
||||
|
||||
## [2.28.15] — 2026-09-27
|
||||
|
||||
### Sécurité
|
||||
|
||||
- **#87 T6 — dépendances qualifiées, `pip-audit` bloquant (0 vulnérabilité).**
|
||||
mistune 3.0.2 → 3.3.3 (XSS/ReDoS/DoS dans le moteur de rendu),
|
||||
python-multipart 0.0.9 → 0.0.31, weasyprint 69 → 70, mcp 1.9.4 → 1.28.1,
|
||||
fastapi 0.110.3 → 0.141.1 + starlette 0.37.2 → 1.7.0, setuptools 84 ;
|
||||
`cast(str, …)` aux 3 sites d'appel mistune (typage 3.3 resserré). Suite
|
||||
complète 1359 passed, ruff/mypy 0. Seule exception : PYSEC-2026-1325
|
||||
(ecdsa, Minerva) — aucun correctif upstream ET JWT exclusivement HS256
|
||||
(`backend/auth/jwt_handler.py`), les chemins ECDSA P-256 ne s'exécutent
|
||||
jamais → `--ignore-vuln` documenté.
|
||||
|
||||
- **#87 T7 — semgrep SAST local bloquant (8 règles, 0 finding).**
|
||||
Ruleset `semgrep-rules/` (eval/exec, shell=True, os.system, pickle,
|
||||
yaml.load sans Loader, verify=False, Markup, mktemp) — 100 % local,
|
||||
aucun registre réseau (runner au réseau fragile). Trivy écarté :
|
||||
binaire + base de vulnérabilités à télécharger à chaque run, couche
|
||||
Python déjà couverte par `pip-audit` bloquant (image = slim + 4 libs).
|
||||
|
||||
- **#87 T8 — fin BUG-034 : cookies Secure auto, CORS same-origin explicite.**
|
||||
`OBSIGATE_SECURE_COOKIES=true|false|auto` (défaut auto : Secure en https,
|
||||
sinon rien — logins http locaux préservés ; `X-Forwarded-Proto` honoré
|
||||
sous `TRUST_PROXY`, avertissement démarrage affiné, `TRUST_PROXY=true`
|
||||
dans le compose prod) ; `CORSMiddleware` same-origin explicite (sûr :
|
||||
web et desktop Tauri same-origin, API directe hors navigateur) ;
|
||||
`style-src 'unsafe-inline'` conservé et assumé (189 attributs `style=` +
|
||||
343 `el.style` — suppression = réécriture complète, risque nul côté
|
||||
exécution une fois `script-src` verrouillé en T5c).
|
||||
|
||||
---
|
||||
|
||||
## [2.28.14] — 2026-09-27
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user