From f3c490322eda800043f74b9552bb73a1af667a99 Mon Sep 17 00:00:00 2001 From: Guillaume DENIS Date: Wed, 8 Jul 2026 15:57:49 +0200 Subject: [PATCH] =?UTF-8?q?fix(cert-server):=20accepte=20les=20noms=20de?= =?UTF-8?q?=20fichiers=20au=20format=20DN=20=C3=A0=20l'import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La whitelist safe_name rejetait « , » et « = », donc les fichiers nommés d'après un DN (ex: « CN=gitlab.test.com, OU=..., O=Thales.p7b ») étaient refusés. Ajout de , = + * ( ) à la liste autorisée (utile aussi pour les certificats wildcard et multivalués). Protection anti-traversal inchangée (/, \, .. et noms vides toujours bloqués). Co-Authored-By: Claude Opus 4.8 --- cert-generator/cert_server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cert-generator/cert_server.py b/cert-generator/cert_server.py index a7c9d53..cdc3e1c 100644 --- a/cert-generator/cert_server.py +++ b/cert-generator/cert_server.py @@ -23,7 +23,7 @@ ROOT = os.path.dirname(SCRIPT_DIR) # racine projet WORK = os.path.join(SCRIPT_DIR, "LISTS_ALL_CERT") # dossier de travail (disque) ARCH = os.path.join(WORK, "archives") -SAFE = re.compile(r"^[A-Za-z0-9._@\- ]+$") # noms de dossier/fichier autorisés +SAFE = re.compile(r"^[A-Za-z0-9._@\-,=+*() ]+$") # noms de dossier/fichier autorisés (incl. DN : « CN=x, OU=y ») def safe_name(n):