A vulnerabilidade CVE-2026-55229 no Gotenberg permite que um documento DOCX especialmente criado force o servidor a executar requisições HTTP arbitrárias e acessar arquivos locais durante a conversão para PDF. A falha, de alta gravidade com nota 7,5 no CVSS, afeta todas as versões anteriores a 8.34.0 e explora apenas o endpoint /forms/libreoffice/convert em execução na configuração padrão, sem exigir autenticação nem interação do usuário.

O Gotenberg é uma API stateless executada em Docker, muito usada para gerar PDFs a partir de documentos do Office em fluxos de faturação, relatórios e exportação de dados. Por trás da conversão está o LibreOffice, e é justamente o comportamento padrão desse motor que abre a porta ao ataque. A categoria de Server-Side Request Forgery, que já aparece como risco permanente em análises como a do panorama OWASP, ganha aqui um caso concreto em software de infraestrutura.

Como o ataque acontece

O ataque explora o fluxo de conversão de documentos do Gotenberg, que usa o LibreOffice internamente para transformar arquivos do Office em PDF. Quando um usuário envia um documento ao endpoint /forms/libreoffice/convert, o LibreOffice processa o conteúdo e, por padrão, resolve automaticamente quaisquer recursos referenciados dentro do documento — incluindo imagens apontadas por URLs externas ou por caminhos locais no formato file:///. Um atacante prepara um DOCX com tags de imagem apontando para um destino que controla; assim que a conversão ocorre, o servidor emite uma requisição de saída para esse destino.

O problema foi reproduzido no Gotenberg v8.33.0 sob a configuração padrão, o que significa que qualquer implantação que não tenha alterado os padrões está sujeita ao mesmo comportamento. Não há privilégios envolvidos: qualquer parte capaz de enviar um documento ao endpoint pode disparar a conversão e, com ela, a resolução de recursos externos. A simplicidade do gatilho é o que torna a falha relevante para equipes de operação e segurança.

Impacto do SSRF cego

O vetor de Server-Side Request Forgery (SSRF) cego permite descobrir serviços internos e interagir com recursos acessíveis apenas a partir da rede do servidor, mesmo que o corpo da resposta não retorne ao atacante. Os pesquisadores demonstraram o problema observando uma requisição de saída em um listener do Burp Collaborator, confirmando que o serviço emite um GET para qualquer host definido dentro do documento enviado. Embora o SSRF seja cego, ele é suficiente para mapear a topologia da rede interna e alcançar serviços que dependem de confiança no nível de rede.

Vetor O que permite Resposta retorna ao atacante?
SSRF cego Requisições HTTP(S) arbitrárias de saída Não
Leitura de arquivo local Acesso a recursos do filesystem via imagem Sim, dentro do PDF gerado

Em ambientes em nuvem, a capacidade de forçar requisições a partir de um servidor confiável pode escalar rapidamente: chamadas a endpoints de metadados, serviços internos sem exposição pública e APIs que aceitam apenas tráfego da rede privada ficam ao alcance de quem consegue entregar um único DOCX. O mesmo padrão de abuso de serviços de conversão já aparece em outros incidentes cobertos pelo portal, como a análise de RCE no Langflow.

Leitura de arquivos locais

O segundo vetor usa o mesmo mecanismo de imagem para ler arquivos do sistema de arquivos local: ao definir o caminho de uma imagem como um file:/// apontando para um arquivo sensível, o LibreOffice carrega o recurso durante a renderização e o incorpora ao PDF gerado. A leitura fica restrita a recursos carregáveis como imagem durante a conversão e não funciona como leitura genérica de arquivos arbitrários, mas ainda pode expor dados sensíveis acessíveis ao processo do LibreOffice.

A combinação de SSRF e divulgação limitada de arquivos locais eleva o risco, sobretudo em ambientes compartilhados ou em que o contêiner do Gotenberg roda com acesso a volumes montados com configuração de privilégio. Mesmo sem comprometer a integridade ou a disponibilidade — os vetores não permitem modificar dados nem interromper o serviço — a perda de confidencialidade já justifica o tratamento prioritário.

Correção e mitigação

A correção definitiva chegou na versão 8.34.0, lançada em 12 de junho de 2026, que configura o perfil do soffice para ativar a opção BlockUntrustedRefererLinks, fazendo o LibreOffice recusar todo conteúdo vinculado por um documento enviado. O conteúdo embarcado no arquivo continua funcionando; apenas recursos referenciados por link externo deixam de ser carregados. Equipes que ainda executam versões antigas devem aplicar os seguintes passos de mitigação:

  1. Atualizar o Gotenberg para 8.34.0 ou superior imediatamente.
  2. Restringir o acesso ao endpoint /forms/libreoffice/convert por autenticação e segmentação de rede.
  3. Monitorar logs de saída do LibreOffice em busca de requisições para hosts não confiáveis.
  4. Avaliar instâncias expostas publicamente, mesmo atrás de proxy reverso, pois a falha não exige credenciais.

Quem depende de documentos que referenciam recursos externos por link precisa revisar o fluxo antes de atualizar, pois esses recursos deixarão de ser renderizados após o patch. A recomendação é migrar o conteúdo para embarcado no próprio documento, eliminando a dependência de resolução externa já que essa era exatamente a porta explorada.

Fontes