Falha no Pillow (CVE-2026-112900): o que é e como corrigir
Entenda a CVE-2026-112900 no Pillow, que permite injetar comandos no Ghostscript via arquivos EPS, veja quem está em risco e como atualizar para a 13.0.0.

O Pillow, a biblioteca de imagens mais usada do Python, publicou em 16 de outubro de 2026 a versão 13.0.0, que corrige uma falha grave: a CVE-2026-112900. Com ela, quem consegue escolher o nome de um arquivo EPS ou PostScript que um sistema abre pode injetar opções no Ghostscript e, em certas condições, executar comandos no servidor.
Neste guia você entende como a falha funciona, quem está em risco, como verificar a sua versão e como corrigir. E já adiantamos o mais importante para quem usa o easyPDF:
✅ O easyPDF está seguro. Atualizamos o Pillow para a versão corrigida (13.0.0) em 27/10/2026. E, mesmo antes da atualização, o easyPDF já salvava cada arquivo enviado com um nome aleatório criado pelo servidor, então essa falha não podia ser disparada pelos nossos envios. Você não precisa fazer nada.
O que é o Pillow e por que essa falha importa
O Pillow é a biblioteca que milhões de sistemas em Python usam para abrir, converter e gerar imagens: miniaturas de fotos, conversão de imagens para PDF, marcas d'água, leitura de documentos escaneados. Ele é dependência de frameworks, ferramentas de IA, lojas virtuais e sistemas de gestão, muitas vezes sem que a equipe saiba que ele está lá.
Por isso, uma falha no Pillow costuma atingir muita gente de uma vez. A versão 13.0.0 corrige não só a CVE-2026-112900, mas dezenas de outros problemas de memória e de travamento ao abrir arquivos maliciosos.
Como funciona a falha CVE-2026-112900

Para mostrar imagens EPS e PostScript, o Pillow chama o programa Ghostscript e passa o nome do arquivo logo depois da opção -f. O problema é que o Ghostscript entende tudo o que começa com - como uma opção, e tudo o que começa com @ como “leia mais opções deste arquivo”.
Então, se um sistema abre com Image.open() um arquivo cujo nome foi escolhido por quem enviou (por exemplo, -sOutputFile=… ou @opcoes.txt), esse nome deixa de ser um nome e passa a ser uma instrução para o Ghostscript. Segundo o relato público, nem o modo -dSAFER do Ghostscript impede a injeção, e com um segundo arquivo controlado pelo atacante é possível executar comandos no servidor.
A correção na 13.0.0 é simples: o Pillow converte o caminho para absoluto (por exemplo, /pasta/arquivo.eps) antes de chamar o Ghostscript. Um caminho absoluto nunca começa com - ou @.
Quem está em risco
O seu sistema pode ser afetado se tudo isto for verdade ao mesmo tempo:
- usa o Pillow da versão 2.6.0 até a 12.3.0 (todas as versões 12.x estão afetadas; não houve correção para a linha 12);
- tem o Ghostscript instalado no servidor ou no container;
- abre arquivos EPS ou PostScript enviados por usuários;
- e guarda esses arquivos com o nome escolhido por quem enviou, sem trocar por um nome gerado pelo próprio sistema.
Sobre a gravidade: o próprio projeto Pillow classifica o problema como moderado, e outras bases de vulnerabilidades o classificam como crítico. Até a publicação, não havia registro de exploração ativa. Mesmo assim, como a atualização corrige também muitas outras falhas, a recomendação é atualizar já.
Por que o easyPDF está seguro
O easyPDF usa o Pillow em algumas ferramentas, como Imagens para PDF e marca d'água. Fizemos três coisas:
- Atualizamos para o Pillow 13.0.0 em todos os servidores em 27/10/2026, depois de rodar toda a nossa bateria de testes automatizados na versão nova.
- Nomes de arquivo nunca vêm de quem envia. Cada arquivo recebido é salvo com um nome aleatório criado pelo servidor (um identificador único, sem hífen ou arroba no início). Por isso, o ataque descrito acima não podia ser disparado pelos envios do easyPDF, nem antes da atualização.
- Arquivos de uso pontual são apagados depois do processamento, como diz a nossa Política de Privacidade.
Você não precisa trocar senha, reenviar arquivos nem mudar nada. Pode continuar usando as ferramentas normalmente.
Como verificar e corrigir no seu projeto

Se você mantém um sistema em Python, siga estes passos:
- Descubra a versão instalada:
python -c "import PIL; print(PIL.__version__)". Se aparecer qualquer versão abaixo de 13.0.0, atualize. - Atualize:
pip install -U "Pillow>=13.0.0". - Fixe a versão mínima no
requirements.txt(ou nopyproject.toml) comPillow>=13.0.0, para que um novo deploy não volte para uma versão antiga. - Reconstrua imagens Docker e pacotes que levam uma cópia própria do Pillow.
- Reinicie a aplicação e confira a versão de novo.
Se não puder atualizar agora, há duas medidas paliativas: não abrir EPS/PostScript enviados por usuários (ou remover o Ghostscript do servidor, o que desliga esse suporte) e sempre salvar os uploads com nomes gerados pelo sistema, nunca com o nome original.
Cuidados ao atualizar para o Pillow 13
A versão 13.0.0 tem algumas mudanças que podem exigir ajustes:
- não funciona mais no Python 3.10 (é preciso 3.11 ou mais novo);
- saem atributos antigos, como
ImageCms.ImageCmsProfile.product_nameeproduct_info, eImage._show; get_child_images()mudou paraImageFile.ImageFile;- salvar imagens no modo
Icomo PNG não corta mais os valores em 16 bits sem avisar.
Rode os testes do seu projeto antes de publicar. No easyPDF, todos os testes passaram sem nenhuma mudança no código.
Outras falhas corrigidas na 13.0.0
Além da CVE-2026-112900, a versão 13.0.0 corrige problemas de estouro de memória e de travamento ao abrir arquivos JPEG, TIFF, PDF, GIF, BMP, WMF/EMF e outros formatos preparados para atacar. Vários deles foram classificados como críticos ou altos pelo próprio Pillow. Mais um motivo para não deixar a atualização para depois.
Fontes: notas da versão 13.0.0 do Pillow e análise da CVE-2026-112900.
Converta imagens em PDF com segurança no easyPDF →
Perguntas frequentes
Meus arquivos no easyPDF ficaram expostos?
Não. O easyPDF salva cada arquivo enviado com um nome aleatório gerado pelo servidor, o que impede o ataque descrito na CVE-2026-112900, e já roda o Pillow 13.0.0, a versão corrigida. Você não precisa fazer nada.
Qual versão do Pillow corrige a CVE-2026-112900?
A versão 13.0.0, lançada em 16 de outubro de 2026. As versões de 2.6.0 até 12.3.0 estão afetadas e não houve correção para a linha 12.
Preciso ter o Ghostscript instalado para ser afetado?
Sim. O ataque depende de o Pillow chamar o Ghostscript para abrir arquivos EPS ou PostScript. Sem o Ghostscript, esses formatos não abrem e a injeção não acontece, mas as outras falhas corrigidas na 13.0.0 continuam sendo motivo para atualizar.
Como saber qual versão do Pillow eu uso?
Rode python -c "import PIL; print(PIL.__version__)" no mesmo ambiente Python da sua aplicação. Se o resultado for menor que 13.0.0, atualize com pip install -U "Pillow>=13.0.0".