Vulnerabilidades do PHP: estado do Passwork e orientações

Aviso: vulnerabilidades críticas do PHP. As CVE-2026-109618 e CVE-2026-109619 podem permitir que um atacante não autenticado execute código num servidor que corre PHP, incluindo PHP-FPM. Ambas têm uma pontuação de 9,2 no CVSS v4.0 e o projeto PHP indica que a atualização é a única correção completa. Os administradores do Passwork autoalojado devem atualizar o PHP para a versão 8.5.12, 8.4.27, 8.3.36 ou 8.2.35.


Atualização do PHP: Correções publicadas

O projeto PHP anunciou uma versão de segurança crítica a 20 de outubro e publicou-a a 21 de outubro. As versões PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35 corrigem ambas as vulnerabilidades. O aviso abrange todas as instalações de PHP que processam pedidos web, incluindo PHP-FPM, e afirma que «não existem mitigações completas, a atualização é a única opção segura.»

CVE O que corre mal Impacto comunicado
CVE-2026-109618 A gestão de falta de memória pode interromper o PHP enquanto os dados do pedido estão apenas parcialmente inicializados, e a limpeza do pedido trata depois esses dados como válidos Execução remota de código sem autenticação, com a conta do worker web
CVE-2026-109619 O estado do pedido persiste depois de a memória ser libertada, e um pedido posterior no mesmo worker utiliza-o Execução remota de código sem autenticação e divulgação de memória

Instalações autoalojadas: plano de atualização

Os administradores de instalações autoalojadas devem atualizar o PHP-FPM que serve o Passwork para a versão corrigida do respetivo ramo, reiniciá-lo e verificar a versão no binário do PHP-FPM, e não numa shell. Comece pelas instâncias acessíveis a partir da internet.

Antes de intervir em produção:

  • Crie um snapshot da base de dados e da configuração e ensaie o restauro num anfitrião de reserva, caso não o tenha feito recentemente.
  • Escolha a versão corrigida do ramo que já utiliza. A mudança para outro ramo é uma alteração distinta, que exige um teste próprio com a versão do Passwork instalada.
  • Instale apenas compilações da sua distribuição, do seu fornecedor ou de php.net. As compilações a partir do código-fonte e os binários para Windows encontram-se na página de transferências do PHP, e os fornecedores de distribuições e de suporte de longo prazo receberam as correções antecipadamente, pelo que convém procurar os respetivos pacotes antes de compilar seja o que for.

Em seguida, aplique a atualização da mesma forma que instalou o PHP, através de um pacote ou de uma imagem de contentor, reinicie o serviço e confirme que o PHP-FPM que serve o Passwork indica uma versão corrigida. O PHP de linha de comandos pode indicar uma versão diferente da do PHP-FPM, por isso importa verificar a que processa os pedidos web.


Se não for possível atualizar de imediato

Até a atualização estar instalada, restrinja quem pode aceder ao Passwork. Coloque-o atrás de uma VPN ou limite-o a um intervalo de rede incluído na lista de permissões e, primeiro, enumere todos os clientes que se ligam do exterior: colaboradores remotos, aplicações móveis, extensões de navegador, tarefas de API e CLI. Cada um deixa de funcionar se o acesso for restringido sem que seja autorizado.

O aviso do PHP enumera também definições provisórias para cada CVE, relativas a limites de memória, limites de tamanho de pedidos e progresso de carregamento de ficheiros na sessão. Estas definições fecham vias de ataque individuais, mas não tornam uma instalação segura. Teste-as numa instância de teste (staging) antes de as aplicar em produção, porque alteram o comportamento da memória, dos carregamentos e das sessões.