Em resumo: O repositório PHP sury é uma fonte de terceiros muito difundida de pacotes PHP no Debian (packages.sury.org) e no Ubuntu (PPA ondrej/php). Permite várias versões do PHP lado a lado e ramos mais recentes do que os da distribuição. Depois do PHP2Shell, foram aí disponibilizadas, segundo notícias, compilações para todos os ramos de 5.6 a 8.5. O comprovativo para o seu servidor, porém, só o fornecem o estado do pacote e o registo de alterações, e não os avisos de segurança do Debian ou do Ubuntu.
O que é o repositório sury
Por trás do sury.org está Ondřej Surý. Segundo a página do seu projeto, empacota como programador do Debian, desde o PHP 5, os pacotes PHP para o Debian, e os pacotes PHP oficiais do Debian e do Ubuntu assentam no seu trabalho. Para além desse trabalho, opera um repositório próprio com pacotes PHP que podem ser instalados em paralelo.
Para o Debian, o repositório está em packages.sury.org; para o Ubuntu, é oferecido como PPA ondrej/php. Os erros são comunicados, segundo a página do projeto, através de um issue tracker no Codeberg, e não por e-mail. A manutenção é feita, segundo as suas próprias declarações, sobretudo nos tempos livres; para versões mais antigas das distribuições existe uma oferta comercial através da Freexian.
Muitos administradores e fornecedores de alojamento usam o repositório porque oferece ramos do PHP mais recentes do que os que a distribuição traz, ou porque as aplicações precisam de uma determinada versão.
O que o distingue dos pacotes Debian
A diferença mais importante para a segurança: os pacotes do sury.org não estão abrangidos pelos avisos de segurança do Debian ou do Ubuntu. O Debian Security Tracker mostra apenas o estado dos pacotes oficiais. Se lá constar que o php8.4 no trixie está corrigido, isso nada diz sobre um php8.4 do sury.org no mesmo servidor.
| Característica | Pacotes oficiais do Debian e do Ubuntu | sury.org |
|---|---|---|
| Editor | Debian ou Canonical | Ondřej Surý como pessoa individual |
| Avisos de segurança | DSA, DLA, USN | nenhum destes avisos |
| Versões | um ramo por lançamento | vários ramos em paralelo |
| Número de versão após a correção | Debian por vezes nova versão upstream, Ubuntu geralmente número antigo com novo estado do pacote | em regra a versão upstream atual |
| Comprovativo | Aviso e registo de alterações | Registo de alterações e versão do pacote |
Para as empresas, isto significa uma dependência de uma pessoa individual para um componente central. Não é motivo para evitar o repositório, mas é motivo para o assumir de forma consciente: com monitorização, comprovativo e um plano B.
Repositório PHP sury depois do PHP2Shell: verificar o estado
Primeiro, esclareça se e para que pacotes o servidor usa o sury. Os comandos são apenas de leitura.
# O sury está registado como fonte de pacotes?
grep -rEl "sury|ondrej" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
# De que fonte provém o pacote instalado?
apt policy php8.3-fpm
# Versão instalada e entrada do registo de alterações sobre as CVE
dpkg-query -W -f='${Package}\t${Version}\n' 'php*-fpm' 'libapache2-mod-php*' 2>/dev/null
zgrep -E "CVE-2026-10961[89]" /usr/share/doc/php8.3-fpm/changelog.Debian.gz
Nos ramos atuais, reconhece em regra a correção pela versão upstream 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 no nome do pacote. Nos ramos antigos, como 7.4 ou 8.1, não há versão de destino oficial; aí a entrada do registo de alterações é o comprovativo mais importante. Se faltar, pergunte através do issue tracker do projeto ou trate o pacote como por esclarecer.
Ramos antigos do PHP a partir do sury: um conforto enganador
O repositório torna fácil operar o PHP 7.4 ou até o 5.6 num Debian atual. Segundo notícias, houve também para esses ramos compilações contra o PHP2Shell. Isso é útil para a situação aguda, mas apenas adia o problema de fundo: o projeto PHP já não mantém esses ramos, e a próxima vulnerabilidade volta a atingi-los.
Quem mantém assim uma aplicação antiga em vida deve perguntar-se honestamente por quanto tempo ainda. O que vale para o PHP 8.1 e anteriores resume-o a página PHP 8.1 e anteriores: o que vale agora. Alternativas comerciais com os seus limites são descritas no artigo Suporte de longo prazo para versões antigas do PHP.
Não misture num servidor, de forma descontrolada, pacotes PHP da distribuição e do sury.org. As dependências entre extensões e bibliotecas podem levar, na próxima atualização, a mudanças de pacotes inesperadas.
Recomendações para operar com o sury
- Documentar que servidores usam o sury e para que ramos.
- Definir a origem, por exemplo com APT pinning, para que os pacotes PHP venham de uma só fonte.
- Monitorizar as atualizações, porque sem DSA ou USN falta o aviso habitual. Ajuda uma comparação regular com
apt list --upgradable. - Reiniciar após cada atualização, para cada versão instalada individualmente. Quantas correm em paralelo mostra o artigo Várias versões do PHP num servidor.
- Apoiar, se a sua empresa depender do repositório. A página do projeto indica donativos e suporte comercial como caminhos.
De volta aos pacotes da distribuição?
Nem todo o servidor que hoje usa o sury ainda precisa dele. Muitas vezes o repositório foi incluído há anos, porque a distribuição da altura só trazia uma versão mais antiga do PHP. Entretanto, o Debian 13 trixie, por exemplo, entrega o PHP 8.4, que está corrigido contra o PHP2Shell segundo o Debian Security Tracker. Se a sua aplicação correr com esta versão, o regresso pode pôr fim à dependência de uma fonte de terceiros.
O regresso é um pequeno projeto de migração. Verifique primeiro que extensões a aplicação precisa e se a distribuição as oferece. Teste a aplicação com o pacote da distribuição numa cópia antes de remover a fonte sury. Depois, os avisos de segurança voltam a chegar pelas vias habituais, e o comprovativo apoia-se em DSA ou USN em vez de apenas num registo de alterações.
Onde continua a ser necessária uma versão mais recente ou mais antiga do que a da distribuição, o sury continua a ser uma escolha sensata. Nesse caso, a decisão deve, porém, ser tomada de forma consciente e documentada.
Como ajuda concretamente a PHP SOS?
- Apuramos que pacotes PHP nos seus servidores provêm do sury.org, da distribuição ou de outras fontes.
- Verificamos o estado do PHP2Shell por ramo através da versão do pacote e do registo de alterações e reiniciamos todos os serviços.
- Configuramos pinning e monitorização de atualizações e removemos ramos que já não são necessários no âmbito do reforço de servidores.
- Para os ramos antigos, planeamos a passagem para uma versão suportada.
Perguntas frequentes
O repositório sury é um repositório oficial do Debian?
Não. É operado por Ondřej Surý que, segundo a sua própria página, empacota há muito tempo o PHP para o Debian como programador do Debian. Não é, porém, o arquivo de segurança do Debian, e para os seus pacotes não há avisos de segurança do Debian.
O sury.org disponibilizou pacotes contra o PHP2Shell?
Segundo notícias, foram disponibilizadas compilações para todos os ramos de 5.6 a 8.5. Verifique, ainda assim, você próprio o estado no seu servidor através da versão do pacote e do registo de alterações, porque as notícias não substituem um comprovativo para o seu sistema.
O sury.org torna seguras de novo as versões antigas do PHP?
Uma compilação para um ramo antigo pode fechar uma vulnerabilidade concreta. Não altera o facto de o projeto PHP já não manter esses ramos. Para um funcionamento duradouramente seguro, continua a ser necessária a passagem para uma versão suportada.
Como descubro se o meu servidor usa o sury?
Procure sury ou ondrej nas fontes de pacotes em /etc/apt e verifique com apt policy de que fonte provêm os pacotes PHP instalados.