diff --git a/brain/requirements.txt b/brain/requirements.txt
index e25305c..b8ec0e9 100644
--- a/brain/requirements.txt
+++ b/brain/requirements.txt
@@ -1,4 +1,8 @@
-fastapi==0.115.*
+fastapi==0.136.*
+# Pin EXPLICITE : fastapi n'exige que starlette>=0.46.0 — sans ce pin, un
+# environnement existant peut garder une starlette vulnérable.
+# >= 0.49.1 : corrige CVE-2025-54121 et CVE-2025-62727.
+starlette>=0.49.1,<1.0
uvicorn[standard]==0.32.*
httpx==0.27.*
pydantic-settings==2.6.*
@@ -20,4 +24,6 @@ tiktoken==0.8.*
# (le binaire tesseract-ocr est installe dans le Dockerfile, langues fra+eng)
pymupdf==1.24.*
pytesseract==0.3.*
-Pillow==11.*
+# 12.2+ : corrige 6 CVE de parsing d'images (surface critique : pages de PDF
+# uploadés par l'utilisateur rasterisées puis passées à l'OCR).
+Pillow==12.2.*
diff --git a/core/pom.xml b/core/pom.xml
index 152801d..f02eedd 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -8,7 +8,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.2.12
+ 3.5.14
@@ -20,6 +20,10 @@
17
+
+ 3.20.0
@@ -77,33 +81,52 @@
test
-
+
io.minio
minio
- 8.5.11
+ 8.6.0
+
+
+
+ com.squareup.okhttp3
+ okhttp
+
+
+
+
+ com.squareup.okhttp3
+ okhttp-jvm
+ 5.1.0
+ Patreon. Supporte nativement les cles Ed25519 via BouncyCastle.
+ >= 10.0.2 : corrige CVE-2025-53864 (DoS par JSON profondement imbrique
+ dans le claim set — surface critique : JWT colle par l'utilisateur). -->
com.nimbusds
nimbus-jose-jwt
- 9.40
+ 10.9.1
org.bouncycastle
bcprov-jdk18on
- 1.78.1
+ 1.84
+ l'ajouter explicitement, sinon NoClassDefFoundError au premier verify().
+ >= 1.15 : embarque un protobuf-java corrige (CVE-2024-7254). -->
com.google.crypto.tink
tink
- 1.14.1
+ 1.21.0