Aja imediatamente: instale a correção do PHP e valide o MagnusBilling. Quem usa MagnusBilling anterior à versão 8 deve iniciar imediatamente a atualização por migração controlada para o MagnusBilling 8. Quem usa Debian anterior ao 11, CentOS ou outro sistema legado deve migrar para Debian 13 o mais rápido possível.
O alerta de 21 de outubro de 2026
As falhas CVE-2026-109618 e CVE-2026-109619 permitem execução remota de código sem autenticação em configurações afetadas. O PHP destaca maior risco no Apache com mod_php. As versões corrigidas são 8.2.35, 8.3.36, 8.4.27 e 8.5.12, ou pacotes do fornecedor com backports comprovados.
Escolha o procedimento do seu servidor
| Ambiente | Ação imediata | Destino recomendado |
|---|---|---|
| Debian 13 | Atualizar o PHP e reiniciar o serviço que o executa. | Manter Debian 13 e MagnusBilling 8 atualizados. |
| Debian 12 | Instalar PHP 8.2 corrigido ou backport comprovado e reiniciar o serviço. | Planejar Debian 13; não é necessário trocar o SO para aplicar esta correção. |
| Debian 11 | Migrar; se necessário, usar temporariamente PHP corrigido de fornecedor externo. | Debian 13 com MagnusBilling 8. |
| Debian 10 ou anterior; CentOS; outros sistemas legados | Restringir a exposição e iniciar migração urgente. | Novo servidor Debian 13 com MagnusBilling 8. |
| MagnusBilling anterior ao 8 | Iniciar imediatamente a migração para a versão 8. | Novo servidor, testes de telefonia e corte planejado. |
Antes de alterar: backup, identificação e janela de manutenção
Execute os comandos como root. Faça backup verificável do banco, aplicação, personalizações, configurações do Asterisk, áudios e gravações necessários; mantenha uma cópia fora do servidor e um snapshot quando disponível. Reserve uma janela de manutenção: atualizações e reinícios podem interromper painel, API e processos de telefonia.
Identifique o PHP do terminal e o PHP do servidor web. Eles podem ser diferentes. Módulos carregados também não provam o handler de cada site; confira VirtualHosts e configurações FPM.
cat /etc/debian_version
php -v
apache2ctl -M | grep -Ei 'php|proxy_fcgi'
dpkg -l | grep -E '^ii[[:space:]]+(libapache2-mod-php|php[0-9.]+-(cli|common|fpm))'
ls -l /etc/apache2/mods-enabled/*php* /etc/apache2/conf-enabled/*fpm* 2>/dev/null Debian 12 e 13: atualizar a lista não instala a correção
apt update apenas consulta os repositórios. apt upgrade instala as atualizações disponíveis e pode atualizar outros componentes; revise a lista antes de confirmar. Se apt update apresentar erros, resolva-os antes de considerar o servidor atualizado.
apt update
apt list --upgradable
apt upgrade Debian 12 com Apache e mod_php 8.2
Confirme libapache2-mod-php8.2 e php8.2-common em 8.2.35-1~deb12u1 ou revisão posterior corrigida. O exemplo a seguir se aplica a mod_php 8.2. Execute o reinício apenas depois de instalar a correção; ele só ocorre se configtest passar.
apt-cache policy libapache2-mod-php8.2 php8.2-common php8.2-fpm
dpkg-query -W libapache2-mod-php8.2 php8.2-common
apache2ctl configtest && systemctl restart apache2
systemctl is-active apache2 Debian 13 com Apache e mod_php 8.4
Confirme libapache2-mod-php8.4 e php8.4-common em 8.4.27-1~deb13u1 ou revisão posterior corrigida. Se você instalou outra versão ou usa repositório externo, confira o aviso desse fornecedor.
apt-cache policy libapache2-mod-php8.4 php8.4-common php8.4-fpm
dpkg-query -W libapache2-mod-php8.4 php8.4-common
apache2ctl configtest && systemctl restart apache2
systemctl is-active apache2 Se usa PHP-FPM, reinicie o FPM correto
Com FPM, reiniciar somente o Apache não garante a substituição dos processos PHP. Reinicie a unidade realmente usada pelo site: php8.2-fpm ou php8.4-fpm nos exemplos abaixo. Se usa outra versão, adapte o nome e confira o pacote corrigido. Não execute os dois comandos indiscriminadamente.
systemctl restart php8.2-fpm
# OU, no servidor que usa PHP 8.4 FPM:
systemctl restart php8.4-fpm Se a versão candidata ainda for antiga
Compare Installed e Candidate em apt-cache policy. Se ambos ainda mostram um pacote vulnerável, apt upgrade e reiniciar o Apache não resolvem. Confira erros do apt update, repositório de segurança, espelho, pacotes retidos e origem do PHP. Confirme a revisão completa no aviso do fornecedor: backports podem corrigir falhas sem mudar a versão principal. Restrinja o acesso web até instalar a correção. Não misture repositórios de diferentes versões do Debian.
Debian 11: alternativa temporária com PHP 8.2
O LTS regular do Debian 11 terminou em 31/08/2026. archive.debian.org é um arquivo histórico; não conte com ele para novas correções. O destino recomendado é Debian 13.
Para MagnusBilling 8, uma alternativa temporária é instalar PHP 8.2 corrigido com pacotes Sury específicos para bullseye. Isso adiciona um fornecedor externo e não devolve suporte ao restante do sistema. Teste em uma cópia do servidor; a mudança de PHP 7.4 para 8.2 não garante compatibilidade de personalizações, módulos adicionais ou extensões comerciais.
Os comandos abaixo se destinam a Debian 11 com mod_php 7.4. Confira se o Sury já está configurado para não duplicar entradas e faça backup de /etc/apt, /etc/php e /etc/apache2. Pare se alguma etapa falhar. Suporte estendido com backport confirmado é outra opção quando a aplicação não pode trocar de PHP.
Debian 11 — adicionar o repositório e conferir a versão
Instale a chave do fornecedor após conferir sua origem. Só prossiga quando o download e a instalação da chave terminarem sem erro.
apt update
apt install ca-certificates curl
curl -fsSLo /tmp/debsuryorg-archive-keyring.deb \
https://packages.sury.org/debsuryorg-archive-keyring.deb &&
dpkg -i /tmp/debsuryorg-archive-keyring.deb Use exclusivamente a distribuição bullseye neste servidor. Antes de instalar, confirme que a versão candidata do PHP 8.2 é 8.2.35 ou posterior. Se não estiver disponível, pare.
echo 'deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ bullseye main' \
> /etc/apt/sources.list.d/sury-php.list
apt update
apt-cache policy libapache2-mod-php8.2 php8.2-cli php8.2-common Debian 11 — simular e instalar as extensões
O conjunto abaixo corresponde a uma instalação comum com curl, GD, mbstring, MySQL, SQLite e XML; inventarie php -m e adapte para todas as extensões da sua instalação. JSON já integra o PHP 8.2. A simulação não altera o sistema: revise especialmente remoções e conflitos.
apt-get -s install libapache2-mod-php8.2 \
php8.2-cli php8.2-common php8.2-curl \
php8.2-gd php8.2-mbstring php8.2-mysql \
php8.2-opcache php8.2-readline php8.2-sqlite3 php8.2-xml Com backup restaurável e simulação revisada, instale em janela de manutenção. A instalação pode executar ações automáticas nos serviços e alternativas; não presuma que o ambiente continuará inalterado até a próxima etapa.
apt-get install libapache2-mod-php8.2 \
php8.2-cli php8.2-common php8.2-curl \
php8.2-gd php8.2-mbstring php8.2-mysql \
php8.2-opcache php8.2-readline php8.2-sqlite3 php8.2-xml Debian 11 — ativar no terminal e no Apache
Confirme que /usr/bin/php8.2 existe e funciona antes de selecionar a alternativa. Este bloco pressupõe mod_php 7.4 ativo; não o aplique em um site atendido por FPM. Se configtest falhar, corrija a configuração antes de reiniciar.
/usr/bin/php8.2 -v
update-alternatives --set php /usr/bin/php8.2
hash -r
a2dismod php7.4 &&
a2enmod php8.2 &&
apache2ctl configtest &&
systemctl restart apache2 Debian 11 — verificar o resultado
O esperado é PHP 8.2.35 ou posterior, links php8.2 em mods-enabled e Apache ativo após um reinício bem-sucedido. Preserve os pacotes antigos até concluir a validação, mas não deixe sites ou workers atendendo requisições com PHP 7.4 sem correção. Não use autoremove nesta etapa.
php -v
php -m
ls -l /etc/apache2/mods-enabled/*php*
dpkg-query -W libapache2-mod-php8.2 php8.2-common
systemctl is-active apache2 Validar painel, API, AGI e tarifação
- Revise configurações de memória, uploads e fuso horário em /etc/php/8.2/apache2/php.ini e /etc/php/8.2/cli/php.ini (ou os caminhos da versão e SAPI usadas). Não copie o php.ini antigo inteiro.
- Confirme a versão no contexto web por um diagnóstico temporário restrito a acesso autorizado; remova-o depois. Não exponha uma página phpinfo() publicamente.
- Verifique scripts AGI, shebangs, cron e serviços que chamem php7.4 explicitamente: update-alternatives não altera esses caminhos. Revise também pools FPM antigos em uso.
- Teste login, API, chamadas de entrada e saída, áudio, CDR, tarifação, saldos, tarefas agendadas e integrações de pagamento. Confira os logs.
- Se precisar reverter para uma versão vulnerável, restrinja o acesso web durante a recuperação. Reversão operacional não elimina a falha de segurança.
Debian antigo, CentOS e MagnusBilling anterior ao 8: migração urgente
Quem usa Debian anterior ao 11, CentOS ou outro sistema legado deve migrar para Debian 13 o mais rápido possível. O CentOS 7 encerrou o suporte oficial em 30/06/2024. Um ambiente funcionando não equivale a um ambiente com correções de segurança. Esta orientação de migração é a recomendação operacional do MagnusBilling; não significa que toda versão de qualquer outro SO esteja sem suporte.
Quem ainda usa MagnusBilling anterior ao 8 deve iniciar imediatamente a atualização para MagnusBilling 8 por migração controlada. A passagem do 7 ao 8 exige outro servidor: não execute o instalador da versão 8 sobre a instalação antiga. Prepare Debian 13 limpo, migre conforme a documentação e valide banco, troncos, endpoints, conversão chan_sip/PJSIP e tarifação antes do corte.
Enquanto a correção ou a migração não estiver concluída, limite o acesso HTTP/HTTPS a VPN ou IPs confiáveis, incluindo IPv4 e IPv6. Considere APIs e callbacks necessários e preserve as regras SIP/RTP. Senha forte e restrição no login da aplicação não substituem filtragem de rede nem a correção do PHP.
Referências e data de verificação
Procedimentos verificados em 21/10/2026. Confirme os pacotes e as instruções atuais do fornecedor antes de executar.
