
POC_CVE-2026-42589
Laboratório de reprodução local e rascunho de template do nuclei para CVE-2026-42589 que afeta o Gotenberg.
A CVE-2026-42589 é um problema de execução remota de código não autenticada no Gotenberg causado por injeção de nova linha na chave de metadados em:
POST /forms/pdfengines/metadata/write
O Gotenberg afetado encaminha chaves de metadados controladas pelo usuário para o ExifTool sem rejeitar caracteres de controle. Uma chave de metadados contendo novas linhas escapadas em JSON pode ser dividida em argumentos adicionais do ExifTool.
Este laboratório foi usado para validar:
gotenberg/gotenberg:8.29.1gotenberg/gotenberg:8.31.0O template do nuclei usa apenas uma verificação de tempo não destrutiva sleep 6.
docker-compose.ymldocker-compose.latest.ymlCVE-2026-42589.yamlmanual_verify.pysample.pdfREADME.mdInicie o Gotenberg 8.29.1:
docker compose down -v
docker compose up -d
docker compose logs --tail=100 gotenberg
Verifique a versão:
curl -s http://127.0.0.1:3000/version
Verificação manual de tempo com multipart bruto:
python3 manual_verify.py http://127.0.0.1:3000
Sinal esperado de vulnerabilidade:
HTTP/1.1 500 Internal Server Error
TOTAL_TIME=6.xs
Resultado vulnerável observado:
HTTP/1.1 500 Internal Server Error
TOTAL_TIME=6.300s
Internal Server Error
Inicie o 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
Verifique a versão:
curl -s http://127.0.0.1:3000/version
Execute a mesma verificação manual de tempo:
python3 manual_verify.py http://127.0.0.1:3000
Resultado observado na versão corrigida:
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
Valide o template:
nuclei -duc -validate -t CVE-2026-42589.yaml
Execute contra o alvo vulnerável:
nuclei -duc -u http://127.0.0.1:3000 -t CVE-2026-42589.yaml
Comportamento esperado:
8.29.1: correspondência após a resposta 500 atrasada8.31.0: nenhuma correspondênciaResultado vulnerável observado:
[CVE-2026-42589] [http] [critical] http://127.0.0.1:3000/forms/pdfengines/metadata/write
[INF] Scan completed in 6.245907708s. 1 matches found.
Resultado observado na versão corrigida:
[INF] Scan completed in 93.01425ms. No results found.