{"id":22083,"date":"2026-10-23T05:56:32","date_gmt":"2026-10-22T21:56:32","guid":{"rendered":"https:\/\/synopower.club\/?p=22083"},"modified":"2026-10-23T05:56:32","modified_gmt":"2026-10-22T21:56:32","slug":"synology-php2shell-emergency-patch","status":"publish","type":"post","link":"https:\/\/synopower.club\/pt\/synology-php2shell-emergency-patch\/","title":{"rendered":"PHP2Shell no Synology: Como corrigimos seis sites em um \u00fanico dia"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>PHP2Shell<\/strong> PHP2Shell \u00e9 o nome que a ind\u00fastria adotou para CVE-2026-109618 e CVE-2026-109619, um par de falhas cr\u00edticas no pr\u00f3prio mecanismo PHP que permitem a execu\u00e7\u00e3o remota de c\u00f3digo sem autentica\u00e7\u00e3o. Detalhes vazaram em 20 de outubro de 2026, um dia antes da divulga\u00e7\u00e3o coordenada, e o projeto PHP lan\u00e7ou vers\u00f5es de emerg\u00eancia em 21 de outubro. Como o bug reside no interpretador e n\u00e3o em qualquer aplicativo, aplicar patches no WordPress, Joomla ou MediaWiki n\u00e3o resolve o problema. A \u00fanica solu\u00e7\u00e3o real \u00e9 uma nova compila\u00e7\u00e3o do PHP. Mantemos seis sites WordPress p\u00fablicos em hardware Synology, e o PHP2Shell fez com que todos eles tivessem que ser reconstru\u00eddos na mesma semana. Este guia aborda o que o bug realmente \u00e9, como corrigi-lo no DSM por meio do Package Center, como lidar com ele quando seu site \u00e9 executado em um cont\u00eainer e a compara\u00e7\u00e3o desconfort\u00e1vel entre o que o Synology lan\u00e7ou e o que outros fornecedores de NAS conseguiram at\u00e9 agora.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Ponto SynoPower Club:<\/strong>Nossos seis sites foram corrigidos em um \u00fanico dia \u00fatil ap\u00f3s a publica\u00e7\u00e3o do aviso do PHP2Shell, e o que tornou isso poss\u00edvel n\u00e3o foi hero\u00edsmo, mas sim a publica\u00e7\u00e3o dos pacotes corrigidos pela ASUSTOR (Synology) na mesma data do aviso. O aviso Synology-SA-26:14 foi publicado em 22 de outubro com o status &quot;Resolvido&quot; e uma tabela completa de vers\u00f5es corrigidas at\u00e9 o PHP 7.4. No mesmo dia, a QNAP publicou o aviso QSA-26-18 com o status &quot;Em corre\u00e7\u00e3o&quot; e a mensagem &quot;A ser anunciado&quot; em cada c\u00e9lula de vers\u00e3o corrigida, e a ASUSTOR respondeu excluindo o PHP legado do App Central em vez de corrigi-lo. Se voc\u00ea hospeda um site p\u00fablico em um NAS, essa diferen\u00e7a n\u00e3o \u00e9 um detalhe de marketing. \u00c9 a diferen\u00e7a entre atualizar um pacote e tirar seu site da internet enquanto voc\u00ea espera.<\/p>\n<\/blockquote>\n\n\n\n<h2 id=\"what-is-php2shell-and-why-it-is-different\" class=\"wp-block-heading\">O que \u00e9 PHP2Shell e por que ele \u00e9 diferente?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O PHP2Shell n\u00e3o \u00e9 um bug isolado, mas sim um conjunto de falhas relacionadas \u00e0 seguran\u00e7a de mem\u00f3ria no PHP, que ocorre na forma como o sistema limpa os recursos ap\u00f3s uma requisi\u00e7\u00e3o que esgotou a mem\u00f3ria dispon\u00edvel. O PHP utiliza <code>longjmp()<\/code> Para evitar erros fatais, incluindo falta de mem\u00f3ria, esse salto ignora o c\u00f3digo de limpeza que normalmente colocaria o mecanismo de volta em um estado conhecido. Parte desse estado \u00e9 global e persiste na pr\u00f3xima solicita\u00e7\u00e3o processada pelo mesmo processo de trabalho.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A vulnerabilidade CVE-2026-109618 est\u00e1 relacionada \u00e0 falta de mem\u00f3ria. Uma requisi\u00e7\u00e3o HTTP maliciosa esgota o limite de mem\u00f3ria enquanto os dados da requisi\u00e7\u00e3o est\u00e3o apenas parcialmente inicializados, fazendo com que a rotina de limpeza percorra estruturas que nunca foram conclu\u00eddas. J\u00e1 a vulnerabilidade CVE-2026-109619 est\u00e1 relacionada ao uso ap\u00f3s libera\u00e7\u00e3o de mem\u00f3ria: o estado global que aponta para a mem\u00f3ria liberada pela requisi\u00e7\u00e3o pode ser lido por uma requisi\u00e7\u00e3o posterior no mesmo worker, permitindo a execu\u00e7\u00e3o de c\u00f3digo ou a divulga\u00e7\u00e3o de mem\u00f3ria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Duas caracter\u00edsticas tornam o PHP2Shell pior do que os avisos usuais sobre PHP. Primeiro, ele \u00e9 pr\u00e9-autentica\u00e7\u00e3o. Ambas as falhas s\u00e3o acionadas antes que qualquer autentica\u00e7\u00e3o em n\u00edvel de aplica\u00e7\u00e3o seja executada, portanto, uma tela de login, um plugin de membros ou uma senha de administrador n\u00e3o protegem nada. Segundo, a variante de divulga\u00e7\u00e3o de mem\u00f3ria vaza a mem\u00f3ria do processo worker, e um worker PHP em um site WordPress armazena credenciais de banco de dados, tokens de API e chaves de pagamento. Uma leitura bem-sucedida n\u00e3o precisa chegar \u00e0 execu\u00e7\u00e3o do c\u00f3digo para arruinar sua semana.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As duas vulnerabilidades CVE do PHP2Shell receberam uma pontua\u00e7\u00e3o de 9,2 no CVSS v4.0 pela equipe de seguran\u00e7a do PHP. A Synology, por sua vez, atribuiu-lhes uma pontua\u00e7\u00e3o de 9,8 no CVSS v3.1 em seu pr\u00f3prio comunicado. Escalas diferentes, mesma conclus\u00e3o. Os relatos de explora\u00e7\u00e3o s\u00e3o contradit\u00f3rios: a watchTowr afirma ter detectado tentativas contra sua rede honeypot, enquanto a Bitdefender n\u00e3o relatou nada em sua telemetria at\u00e9 o momento da reda\u00e7\u00e3o deste texto, e a QNAP declara n\u00e3o ter recebido relatos de explora\u00e7\u00e3o direcionada especificamente a produtos da QNAP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"eager\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp\" alt=\"Synology-SA-26:14 Aviso do PHP2Shell mostrando o status Resolvido e a tabela de vers\u00f5es corrigidas.\" class=\"wp-image-22078\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-synology-advisory-1000x609.webp 1000w\"  fetchpriority=\"high\"\/><figcaption class=\"wp-element-caption\">Synology-SA-26:14, publicado em 22 de outubro de 2026 \u00e0s 19:45 UTC+8 com o status Resolvido.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"php2shell-vs-a-normal-wordpress-exploit\" class=\"wp-block-heading\">PHP2Shell versus um exploit normal do WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A maior parte dos ataques a sites WordPress p\u00fablicos s\u00e3o vulnerabilidades de plugins. O padr\u00e3o \u00e9 conhecido: um plugin inclui um endpoint REST quebrado, um scanner o encontra, voc\u00ea atualiza o plugin e a vulnerabilidade \u00e9 corrigida. O PHP2Shell quebra completamente esse padr\u00e3o, e a pr\u00e1tica de auditar plugins automaticamente se torna um esfor\u00e7o desperdi\u00e7ado nesse caso.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Aspecto<\/th><th>CVE t\u00edpico de plugin<\/th><th>PHP2Shell<\/th><\/tr><\/thead><tbody><tr><td>Onde vive o inseto<\/td><td>C\u00f3digo da aplica\u00e7\u00e3o (plugin ou tema)<\/td><td>O pr\u00f3prio interpretador PHP<\/td><\/tr><tr><td>Quem pode desencadear isso?<\/td><td>Geralmente requer uma fun\u00e7\u00e3o de assinante ou administrador.<\/td><td>Ningu\u00e9m. Pr\u00e9-autentica\u00e7\u00e3o, antes da execu\u00e7\u00e3o da l\u00f3gica do aplicativo.<\/td><\/tr><tr><td>Atualizar o WordPress ajuda?<\/td><td>Geralmente sim<\/td><td>N\u00e3o. Atualiza\u00e7\u00f5es do n\u00facleo e de plugins s\u00e3o irrelevantes.<\/td><\/tr><tr><td>Um WAF (filtro de imagem da esposa) impede isso?<\/td><td>Normalmente, uma vez que uma regra existe,<\/td><td>Em parte. As regras de formato de requisi\u00e7\u00e3o n\u00e3o consideram o caminho OOM.<\/td><\/tr><tr><td>O que realmente resolve o problema?<\/td><td>Atualiza\u00e7\u00e3o do plugin<\/td><td>Uma nova compila\u00e7\u00e3o do PHP, nada mais.<\/td><\/tr><tr><td>raio de explos\u00e3o<\/td><td>Um site, uma funcionalidade<\/td><td>Todos os sites PHP no servidor, todos de uma vez.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Essa \u00faltima linha explica por que o PHP2Shell se transformou em um dia inteiro de trabalho em vez de uma tarde. Um \u00fanico pacote PHP compartilhado em um NAS pode estar por tr\u00e1s de uma d\u00fazia de hosts virtuais do Web Station, e uma \u00fanica imagem de cont\u00eainer pode ser a base para v\u00e1rios sites. A aplica\u00e7\u00e3o de patches n\u00e3o \u00e9 por site, mas sim por ambiente de execu\u00e7\u00e3o, e voc\u00ea precisa enumerar os ambientes de execu\u00e7\u00e3o antes de poder afirmar que algo foi feito.<\/p>\n\n\n\n<h2 id=\"how-to-tell-if-your-nas-is-exposed\" class=\"wp-block-heading\">Como saber se seu NAS est\u00e1 exposto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A avalia\u00e7\u00e3o da sua exposi\u00e7\u00e3o ao PHP2Shell come\u00e7a por separar duas quest\u00f5es distintas. O sistema cont\u00e9m uma vers\u00e3o vulner\u00e1vel do PHP e essa vers\u00e3o \u00e9 acess\u00edvel pela internet? A Synology faz essa distin\u00e7\u00e3o explicitamente: o DSM inclui um componente PHP interno usado pelo sistema operacional, e a Synology afirma que ele n\u00e3o possui m\u00f3dulos acess\u00edveis externamente e, portanto, nenhuma superf\u00edcie de ataque exposta. O risco atribu\u00eddo a esse componente \u00e9 m\u00ednimo, e a corre\u00e7\u00e3o est\u00e1 prevista para uma vers\u00e3o posterior do DSM, para que as verifica\u00e7\u00f5es de vulnerabilidades parem de sinaliz\u00e1-lo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os pacotes relevantes para o PHP2Shell s\u00e3o aqueles que fornecem PHP para a web. A lista Synology inclui Calendar, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station e WordPress. Se voc\u00ea tiver algum desses instalados e acess\u00edveis, voc\u00ea est\u00e1 dentro do escopo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verifique as vers\u00f5es diretamente em vez de confiar em um painel de controle. No Centro de Pacotes, os pacotes PHP instalados mostram suas vers\u00f5es no bloco e o aviso de atualiza\u00e7\u00e3o indica a vers\u00e3o de destino. A partir de um terminal, consulte o pr\u00f3prio ambiente de execu\u00e7\u00e3o:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Pacote PHP # Synology (ajuste o caminho para a vers\u00e3o que voc\u00ea est\u00e1 executando) \/volume1\/@appstore\/PHP8.2\/usr\/local\/bin\/php -v # Um site em cont\u00eainer docker exec php -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O motivo para insistir em <code>php -v<\/code> Ao auditar o PHP2Shell, percebe-se que todos os outros sinais s\u00e3o enganosos. A sa\u00edda da compila\u00e7\u00e3o pode reportar sucesso enquanto reutiliza uma camada em cache, um painel de controle pode mostrar um pacote como atualizado quando o worker em execu\u00e7\u00e3o n\u00e3o est\u00e1, e um cabe\u00e7alho de resposta HTTP pode ser removido por uma CDN antes mesmo de voc\u00ea v\u00ea-lo. Dois dos nossos seis sites foram reportados como \u00edntegros em suas telas de administra\u00e7\u00e3o, mesmo executando um interpretador sem patches.<\/p>\n\n\n\n<h2 id=\"patching-php2shell-on-synology-in-4-steps\" class=\"wp-block-heading\">Aplicando patches no PHP2Shell no Synology em 4 etapas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para um site Web Station no DSM, a corre\u00e7\u00e3o completa do PHP2Shell consiste em uma atualiza\u00e7\u00e3o do Centro de Pacotes. O pacote Synology publica atualiza\u00e7\u00f5es de seguran\u00e7a do PHP para o DSM 7.4, 7.3 e 7.2, e ap\u00f3s a atualiza\u00e7\u00e3o dos pacotes PHP, os pacotes dependentes s\u00e3o reinicializados, o que resolve o problema. O Mail Station \u00e9 a exce\u00e7\u00e3o documentada e requer uma atualiza\u00e7\u00e3o manual pr\u00f3pria.<\/p>\n\n\n<div id=\"rank-math-howto\" class=\"rank-math-block\" >\n<div class=\"rank-math-howto-description\">\n\n<\/div>\n\n<div class=\"rank-math-steps\">\n<div id=\"step-1\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Confira o aviso.<\/h3>\n<div class=\"rank-math-step-content\"><p>Abra o arquivo Synology-SA-26:14 e observe a vers\u00e3o corrigida para cada vers\u00e3o do PHP que voc\u00ea instalou. Os alvos s\u00e3o 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 e 8.4.27-0051. O PHP 7.3 n\u00e3o possui corre\u00e7\u00e3o porque est\u00e1 em fim de vida \u00fatil.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-2\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Atualize atrav\u00e9s da Central de Pacotes<\/h3>\n<div class=\"rank-math-step-content\"><p>No DSM, abra a Central de Pacotes e verifique os pacotes instalados. Cada pacote PHP vulner\u00e1vel mostrar\u00e1 a mensagem &quot;Atualiza\u00e7\u00e3o dispon\u00edvel com a nova vers\u00e3o online&quot;. Clique em &quot;Atualizar&quot; em cada ramifica\u00e7\u00e3o do PHP listada e atualize o Calendar e o Mail Station (Synology), se os tiver instalado.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-3\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Deixe os dependentes reiniciarem<\/h3>\n<div class=\"rank-math-step-content\"><p>Os pacotes que dependem do PHP reiniciam automaticamente assim que o pacote PHP termina de ser atualizado, e essa reinicializa\u00e7\u00e3o \u00e9 o que coloca a corre\u00e7\u00e3o em vigor. O Mail Station \u00e9 a exce\u00e7\u00e3o e deve ser atualizado manualmente pelo Centro de Pacotes.<\/p>\n<\/div>\n<\/div>\n<div id=\"step-4\" class=\"rank-math-step\">\n<h3 class=\"rank-math-step-title\">Verifique o interpretador em execu\u00e7\u00e3o.<\/h3>\n<div class=\"rank-math-step-content\"><p>N\u00e3o confie no painel de controle. Execute o comando `php -v` no caminho do pacote ou dentro do cont\u00eainer e confirme se o n\u00famero da vers\u00e3o corresponde ao aviso. Em seguida, verifique se cada host virtual do Web Station est\u00e1 vinculado a um perfil que voc\u00ea realmente atualizou.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"803\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp\" alt=\"O Centro de Pacotes Synology mostra que a atualiza\u00e7\u00e3o para o PHP 8.2 est\u00e1 dispon\u00edvel para a vers\u00e3o 8.2.35-0171.\" class=\"wp-image-22079\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-300x172.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1024x587.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-768x441.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-600x344.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-400x229.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-php82-1000x574.webp 1000w\" \/><figcaption class=\"wp-element-caption\">O Centro de Pacotes oferece o PHP 8.2.35-0171, a vers\u00e3o mencionada no aviso.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A captura de tela acima foi feita em uma de nossas m\u00e1quinas na manh\u00e3 seguinte ao aviso do PHP2Shell. Observe que o painel &quot;Novidades&quot; indica a vers\u00e3o upstream diretamente, permitindo que voc\u00ea compare o sufixo de compila\u00e7\u00e3o Synology com a vers\u00e3o do PHP sem precisar adivinhar. O Calendar Synology aparece na mesma lista de atualiza\u00e7\u00f5es na vers\u00e3o 3.0.4-21435, que \u00e9 exatamente a vers\u00e3o recomendada no aviso.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"793\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp\" alt=\"Synology Central de Pacotes - caixa de di\u00e1logo de confirma\u00e7\u00e3o de configura\u00e7\u00f5es - atualizando PHP 8.2 para 8.2.35-0171\" class=\"wp-image-22080\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-300x170.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1024x580.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-768x435.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-600x340.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-400x227.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-package-center-update-1000x566.webp 1000w\" \/><figcaption class=\"wp-element-caption\">A caixa de di\u00e1logo de atualiza\u00e7\u00e3o menciona o PHP 8.2.35-0171, publicado pela Synology Inc.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Uma armadilha do PHP2Shell que vale a pena mencionar para usu\u00e1rios do Web Station: uma m\u00e1quina DSM pode ter v\u00e1rias vers\u00f5es do PHP instaladas simultaneamente, e cada host virtual est\u00e1 vinculado a um perfil. Atualizar o perfil padr\u00e3o n\u00e3o resolve o problema de um site vinculado a uma vers\u00e3o diferente. Primeiro, liste os perfis, atualize todos eles e, em seguida, verifique a vincula\u00e7\u00e3o de cada site em Servi\u00e7os Web.<\/p>\n\n\n\n<h2 id=\"which-dsm-packages-are-affected\" class=\"wp-block-heading\">Quais pacotes DSM s\u00e3o afetados?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A declara\u00e7\u00e3o Synology no PHP2Shell \u00e9 mais restrita do que o p\u00e2nico sugeria. Apenas sistemas que executam determinados pacotes dependentes do PHP s\u00e3o afetados, e o Synology Drive explicitamente n\u00e3o est\u00e1 entre eles. O IDrive est\u00e1 na lista, mas \u00e9 um software de terceiros.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Acesso via web e prioridade m\u00e1xima.<\/strong> Web Station, WordPress, Joomla, MediaWiki, vtigerCRM, KodExplorer e phpMyAdmin. Estes disponibilizam PHP para qualquer pessoa que consiga acess\u00e1-los.<\/li>\n\n\n\n<li><strong>Correio e calend\u00e1rio.<\/strong> O Mail Station precisa de uma atualiza\u00e7\u00e3o manual ap\u00f3s o pacote PHP. O calend\u00e1rio Synology possui sua pr\u00f3pria vers\u00e3o corrigida, a 3.0.4-21435.<\/li>\n\n\n\n<li><strong>O componente interno do DSM.<\/strong> Presente, mas n\u00e3o acess\u00edvel externamente; a corre\u00e7\u00e3o foi adiada para uma vers\u00e3o posterior do DSM; risco classificado como m\u00ednimo pela Synology.<\/li>\n\n\n\n<li><strong>Os recipientes n\u00e3o est\u00e3o cobertos.<\/strong> O ambiente de execu\u00e7\u00e3o PHP dentro do Container Manager \u00e9 de sua responsabilidade e pode ser modificado por voc\u00ea. Nenhuma atualiza\u00e7\u00e3o de pacote o afetar\u00e1, e esse \u00e9 o motivo mais comum pelo qual o propriet\u00e1rio de um NAS pensa que terminou quando, na verdade, n\u00e3o terminou.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea ainda estiver usando uma vers\u00e3o do DSM anterior \u00e0 7.2, a Synology recomenda desativar temporariamente os pacotes afetados at\u00e9 que uma vers\u00e3o corrigida esteja dispon\u00edvel. O pr\u00f3prio DSM 7.2 \u00e9 sinalizado como descontinuado na declara\u00e7\u00e3o, mesmo tendo recebido essas atualiza\u00e7\u00f5es do PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O caso mais cr\u00edtico do PHP2Shell \u00e9 o PHP 7.3 e vers\u00f5es anteriores. O pacote Synology n\u00e3o corrigir\u00e1 o problema com a vers\u00e3o 7.3, pois essa vers\u00e3o est\u00e1 em fim de vida \u00fatil e o projeto original n\u00e3o publicou nada para vers\u00f5es anteriores \u00e0 7.3. Distribui\u00e7\u00f5es Linux disponibilizaram corre\u00e7\u00f5es para algumas vers\u00f5es antigas, mas um pacote PHP Synology n\u00e3o \u00e9 um pacote de distribui\u00e7\u00e3o. Se um site precisa do PHP 7.3 ou 5.6 para funcionar, n\u00e3o haver\u00e1 nenhuma corre\u00e7\u00e3o e as op\u00e7\u00f5es mais sensatas s\u00e3o migrar o site para uma vers\u00e3o com suporte, proteg\u00ea-lo com um WAF (Web Application Firewall) ou retir\u00e1-lo da internet p\u00fablica.<\/p>\n\n\n\n<h2 id=\"how-container-site-owners-handle-php2shell\" class=\"wp-block-heading\">Como os propriet\u00e1rios de sites de cont\u00eaineres lidam com o PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cinco dos nossos seis sites executam o WordPress em Docker em vez do Web Station, e \u00e9 a\u00ed que o PHP2Shell se torna interessante, porque o Centro de Pacotes n\u00e3o pode ajudar. O ambiente de execu\u00e7\u00e3o \u00e9 o que a imagem cont\u00e9m, e reconstruir uma imagem n\u00e3o \u00e9 o mesmo que atualiz\u00e1-la.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A primeira falha do PHP2Shell que encontramos, e a que tem maior probabilidade de afetar outras pessoas, \u00e9 que a reconstru\u00e7\u00e3o de uma imagem personalizada reutiliza a camada base em cache. Uma imagem n\u00e3o fixada <code>DE<\/code> A tag n\u00e3o significa &quot;atualizado&quot;. Uma de nossas imagens havia sido reconstru\u00edda quatro dias antes e ainda continha uma vers\u00e3o do PHP de julho de 2025, com mais de um ano de atraso em rela\u00e7\u00e3o \u00e0s corre\u00e7\u00f5es de seguran\u00e7a, porque nada havia for\u00e7ado o Docker a baixar novamente a base.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Errado: reutiliza silenciosamente qualquer camada base que esteja em cache localmente. `docker build -t mysite .` # Certo: sempre baixa novamente a imagem base. `docker build --pull -t mysite .` # Em seguida, inicie apenas o servi\u00e7o desejado, sem iniciar os servi\u00e7os irm\u00e3os inativos. `docker compose up -d --no-deps wordpress` # E verifique o que realmente importa. `docker exec wordpress php -v`<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A segunda falha do PHP2Shell \u00e9 mais grave porque reporta sucesso. O redirecionamento da sa\u00edda da compila\u00e7\u00e3o ocorre atrav\u00e9s de <code>cauda<\/code> oculta uma falha de compila\u00e7\u00e3o, j\u00e1 que o c\u00f3digo de sa\u00edda de um pipeline pertence ao \u00faltimo comando nele e <code>conjunto -e<\/code> nunca \u00e9 acionado. A etapa de composi\u00e7\u00e3o recria o cont\u00eainer a partir da imagem antiga, imprime &quot;Iniciado&quot; e voc\u00ea se depara com um site sem patches que parece rec\u00e9m-implantado. Verifique o resultado da compila\u00e7\u00e3o separadamente e confirme com <code>php -v<\/code> ap\u00f3s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Duas observa\u00e7\u00f5es importantes. Marque a imagem antiga antes de recri\u00e1-la, pois uma imagem mant\u00e9m sua tag e oferece um ponto de revers\u00e3o gratuito, muito mais econ\u00f4mico do que um snapshot. Al\u00e9m disso, n\u00e3o espere que uma atualiza\u00e7\u00e3o de imagem atualize o aplicativo: o ponto de entrada oficial da imagem do WordPress copia os arquivos principais somente quando o diret\u00f3rio raiz do documento est\u00e1 vazio. Portanto, recriar um cont\u00eainer em uma imagem mais recente deixa a instala\u00e7\u00e3o existente exatamente como estava. Confirmamos isso em um ambiente de teste antes de mexer na produ\u00e7\u00e3o, e a vers\u00e3o do WordPress n\u00e3o foi alterada.<\/p>\n\n\n\n<h2 id=\"why-disabling-upload-progress-only-covers-half\" class=\"wp-block-heading\">Por que desabilitar session.upload_progress resolve apenas metade do problema?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A solu\u00e7\u00e3o paliativa do PHP2Shell que est\u00e1 sendo utilizada em m\u00e1quinas que n\u00e3o podem ser corrigidas consiste em definir <code>session.upload_progress.enabled = 0<\/code>, E no DSM, que fica no Web Station em Configura\u00e7\u00f5es de Linguagem de Script, na aba N\u00facleo do perfil PHP. Vale a pena fazer isso. N\u00e3o \u00e9 uma solu\u00e7\u00e3o definitiva, e a lacuna \u00e9 importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O caminho de progresso de upload da sess\u00e3o \u00e9 apenas uma das formas de acesso. A variante de divulga\u00e7\u00e3o de mem\u00f3ria \u00e9 alcan\u00e7ada por meio do tratamento comum de requisi\u00e7\u00f5es multipart e n\u00e3o requer o recurso de sess\u00e3o, portanto, desativar esse recurso deixa esse caminho aberto. O projeto PHP afirmou diretamente que n\u00e3o existem mitiga\u00e7\u00f5es completas e que a atualiza\u00e7\u00e3o \u00e9 a \u00fanica solu\u00e7\u00e3o segura. O Imunify360 relata que nenhuma regra bloqueia atualmente o caminho de falta de mem\u00f3ria do CVE-2026-109618, e a Elastic observa que a configura\u00e7\u00e3o de progresso de upload fecha os caminhos de sess\u00e3o confirmados, mas n\u00e3o todas as variantes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea tamb\u00e9m ver\u00e1 <code>limite_de_mem\u00f3ria = -1<\/code> Sugeriu-se, com base na l\u00f3gica de que o bug \u00e9 alcan\u00e7ado por meio de uma condi\u00e7\u00e3o de falta de mem\u00f3ria. Considere isso uma troca, n\u00e3o uma vantagem. Remover o limite em um servidor web p\u00fablico troca um modo de falha por outro, e em um NAS com or\u00e7amento de mem\u00f3ria compartilhado, isso leva o pool de processos a esgotar toda a m\u00e1quina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O filtro de borda \u00e9 a camada do PHP2Shell que realmente agrega valor, pois detecta o tr\u00e1fego descriptografado, enquanto seu roteador n\u00e3o. A Cloudflare implementou prote\u00e7\u00e3o por meio de regras gerenciadas para o PHP2Shell, a AWS adicionou cobertura para a vulnerabilidade CVE-2026-109619 na vers\u00e3o 2.3 do seu grupo de regras gerenciadas para PHP, e o Azure Front Door lan\u00e7ou a regra 99006001, que est\u00e1 desativada por padr\u00e3o. Existem regras da comunidade para Snort e Suricata no GitHub, mas os conjuntos de regras oficiais do Snort e de Amea\u00e7as Emergentes n\u00e3o haviam publicado nada at\u00e9 o momento da reda\u00e7\u00e3o deste texto, portanto, um recurso de preven\u00e7\u00e3o de intrus\u00f5es em um NAS n\u00e3o ser\u00e1 suficiente neste caso. De qualquer forma, ele n\u00e3o consegue ler o conte\u00fado de um TLS.<\/p>\n\n\n\n<h2 id=\"which-nas-vendor-actually-shipped-a-fix\" class=\"wp-block-heading\">Qual fornecedor de NAS realmente lan\u00e7ou uma corre\u00e7\u00e3o?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Esta \u00e9 a parte da hist\u00f3ria do PHP2Shell que deve influenciar sua decis\u00e3o de compra. O PHP upstream foi lan\u00e7ado em 21 de outubro. Veja a seguir a situa\u00e7\u00e3o dos quatro principais fornecedores de NAS para consumidores e profissionais no dia seguinte, com base em seus pr\u00f3prios avisos e n\u00e3o em an\u00e1lises da m\u00eddia.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Fornecedor<\/th><th>Consultivo<\/th><th>Status<\/th><th>Vers\u00f5es corrigidas publicadas<\/th><\/tr><\/thead><tbody><tr><td><strong>Synology<\/strong><\/td><td>Synology-SA-26:14, 22 de outubro de 2026<\/td><td><strong>Resolvido<\/strong><\/td><td>Sim. Todas as vers\u00f5es do PHP, do 7.4 ao 8.4, al\u00e9m do Calendar e do Mail Station.<\/td><\/tr><tr><td>QNAP<\/td><td>QSA-26-18, 22 de outubro de 2026<\/td><td>Consertando<\/td><td>N\u00e3o. Em todas as linhas est\u00e1 escrito &quot;A ser anunciado&quot;.<\/td><\/tr><tr><td>ASUSTOR<\/td><td>Descontinua\u00e7\u00e3o do PHP legado, 22 de outubro de 2026<\/td><td>Aposentadoria, n\u00e3o uma solu\u00e7\u00e3o paliativa<\/td><td>N\u00e3o. As vers\u00f5es PHP 7, 7.3, 7.4 e 8.1 foram removidas da Central de Aplicativos.<\/td><\/tr><tr><td>UGREEN<\/td><td>Nenhum encontrado<\/td><td>Desconhecido<\/td><td>N\u00e3o foram encontradas recomenda\u00e7\u00f5es para o UGOS Pro.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A equipe Synology publicou uma tabela completa de vers\u00f5es do PHP2Shell no mesmo dia do aviso e marcou o aviso como Resolvido. Um usu\u00e1rio do DSM que o lesse tinha uma a\u00e7\u00e3o a tomar naquela mesma tarde: abrir a Central de Pacotes, clicar em Atualizar e verificar. Esse \u00e9 todo o processo de corre\u00e7\u00e3o, e \u00e9 por isso que nossas m\u00e1quinas Web Station foram conclu\u00eddas em minutos, em vez de dias.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"852\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp\" alt=\"O aviso QNAP QSA-26-18 mostra o status &quot;Em corre\u00e7\u00e3o&quot; e &quot;A ser anunciado&quot; em cada linha de vers\u00e3o corrigida.\" class=\"wp-image-22081\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-300x183.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1024x623.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-768x467.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-18x12.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-600x365.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-400x243.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-qnap-to-be-announced-1000x609.webp 1000w\" \/><figcaption class=\"wp-element-caption\">QNAP QSA-26-18: status: Em fase de corre\u00e7\u00e3o, e todas as vers\u00f5es corrigidas ainda ser\u00e3o anunciadas.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A QNAP publicou na mesma data uma lista extensa de produtos afetados, incluindo QTS 6.1.0, QTS 5.2.11 e vers\u00f5es anteriores, QuTS hero h6.1.0, h6.0.x e h5.2.11 e vers\u00f5es anteriores, QuTScloud c5.2.9 e vers\u00f5es anteriores, Note Station 3, QNE ADRA, QVR Surveillance em modelos ARM32 e TVR OS. Todos eles apresentam o status &quot;Em corre\u00e7\u00e3o&quot;, sem uma vers\u00e3o corrigida definida. Como o ambiente de execu\u00e7\u00e3o PHP faz parte dos componentes web do QTS, n\u00e3o h\u00e1 um pacote para atualizar, portanto, a corre\u00e7\u00e3o precisa ser feita por meio de firmware.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enquanto isso, a QNAP oferece \u00e0s v\u00edtimas do PHP2Shell uma lista de medidas de mitiga\u00e7\u00e3o, e vale a pena l\u00ea-la atentamente devido \u00e0s recomenda\u00e7\u00f5es: desativar o encaminhamento de portas e o UPnP no roteador, cancelar a publica\u00e7\u00e3o dos servi\u00e7os myQNAPcloud, usar uma VPN para o acesso remoto, restringir as portas de gerenciamento a sub-redes confi\u00e1veis, interromper aplicativos baseados em PHP que n\u00e3o sejam necess\u00e1rios, desativar o servidor web integrado se n\u00e3o estiver em uso e verificar o QuLog Center em busca de sinais de comprometimento. Essas s\u00e3o recomenda\u00e7\u00f5es sensatas para um dispositivo sem as atualiza\u00e7\u00f5es de seguran\u00e7a. Para quem hospeda um site p\u00fablico, tamb\u00e9m \u00e9 uma recomenda\u00e7\u00e3o para que o site seja desativado.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"814\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp\" alt=\"An\u00fancio da ASUSTOR sobre a descontinua\u00e7\u00e3o do PHP legado, datado de 22\/10\/2026, removendo as vers\u00f5es PHP 7, 7.3, 7.4 e 8.1.\" class=\"wp-image-22082\" srcset=\"https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement.webp 1400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-300x174.webp 300w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1024x595.webp 1024w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-768x447.webp 768w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-18x10.webp 18w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-600x349.webp 600w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-400x233.webp 400w, https:\/\/synopower.club\/wp-content\/uploads\/2026\/10\/php2shell-asustor-retirement-1000x581.webp 1000w\" \/><figcaption class=\"wp-element-caption\">A ASUSTOR respondeu ao PHP2Shell descontinuando o PHP legado em vez de corrigi-lo.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A ASUSTOR adotou uma terceira estrat\u00e9gia. Seu comunicado, datado de 22 de outubro e intitulado &quot;An\u00fancio de Descontinua\u00e7\u00e3o do PHP Legado&quot;, remove o PHP 7, PHP 7.3, PHP 7.4 e PHP 8.1 da App Central com efeito imediato, recomenda o backup de dados importantes e orienta os usu\u00e1rios a utilizarem somente o PHP 8.3 ou 8.4 daqui em diante. A justificativa \u00e9 defens\u00e1vel, visto que o projeto upstream s\u00f3 corrige as vers\u00f5es 8.2 e posteriores. O efeito para o usu\u00e1rio que executa um aplicativo PHP antigo \u00e9 que o ambiente de execu\u00e7\u00e3o desaparece da loja em vez de ser corrigido, e a ASUSTOR n\u00e3o informa que uma vers\u00e3o corrigida do PHP 8.3 ou 8.4 foi disponibilizada. Observe o contraste com o comunicado Synology, que publicou uma vers\u00e3o corrigida do PHP 7.4 (7.4.33-0131) exatamente para os usu\u00e1rios que a ASUSTOR est\u00e1 solicitando a migra\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para a UGREEN, n\u00e3o encontramos nenhum aviso sobre a vulnerabilidade PHP2Shell no UGOS Pro. A aus\u00eancia de uma declara\u00e7\u00e3o p\u00fablica n\u00e3o comprova que um produto seja vulner\u00e1vel, e o UGOS Pro pode simplesmente n\u00e3o incluir um ambiente de execu\u00e7\u00e3o PHP voltado para a web. Mas, se voc\u00ea \u00e9 o propriet\u00e1rio, o sil\u00eancio n\u00e3o \u00e9 uma resposta que possa ser levada em considera\u00e7\u00e3o, e isso por si s\u00f3 j\u00e1 representa uma forma de exposi\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nada disso torna o Synology perfeito. Ele n\u00e3o corrige o PHP 7.3, sinaliza o DSM 7.2 como obsoleto e seu pr\u00f3prio componente PHP interno ainda \u00e9 programado em vez de receber patches. A quest\u00e3o \u00e9 mais espec\u00edfica e \u00fatil do que um argumento de marca: no dia em que uma falha de execu\u00e7\u00e3o remota de c\u00f3digo pr\u00e9-autentica\u00e7\u00e3o foi descoberta no mecanismo do PHP, um fornecedor transformou a corre\u00e7\u00e3o em um bot\u00e3o na Central de Pacotes, enquanto os outros a transformaram em um jogo de espera.<\/p>\n\n\n\n<h2 id=\"where-to-find-more-official-resources\" class=\"wp-block-heading\">Onde encontrar mais recursos oficiais<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">No momento em que este texto foi escrito, o PHP2Shell tinha apenas dois dias de exist\u00eancia e a situa\u00e7\u00e3o ainda est\u00e1 em desenvolvimento, portanto, consulte as fontes prim\u00e1rias em vez de resumos. Ainda n\u00e3o h\u00e1 cobertura em v\u00eddeo oficial de nenhum dos fornecedores, ent\u00e3o a lista abaixo \u00e9 documenta\u00e7\u00e3o e n\u00e3o tutoriais passo a passo.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14<\/a> Esta \u00e9 a tabela de vers\u00f5es oficial. Verifique-a novamente antes de aplicar o patch, pois os avisos s\u00e3o revisados.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">A declara\u00e7\u00e3o Synology PSIRT<\/a> A lista inclui os pacotes afetados e explica o componente interno do DSM e a exce\u00e7\u00e3o do Mail Station.<\/li>\n\n\n\n<li>Os avisos upstream do GitHub GHSA-w8hw-w9fx-j79w e GHSA-6wmf-4rv5-p3rp est\u00e3o vinculados ao aviso Synology e descrevem o comportamento do mecanismo, em vez do pacote do fornecedor.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a> \u00c9 onde uma vers\u00e3o corrigida do firmware aparecer\u00e1 se voc\u00ea executar o QTS ou o QuTS hero. \u00c9 a p\u00e1gina que voc\u00ea deve acompanhar, n\u00e3o um artigo de not\u00edcias.<\/li>\n\n\n\n<li>Seu pr\u00f3prio Centro de Pacotes \u00e9 a palavra final sobre o que est\u00e1 instalado. O aviso informa a configura\u00e7\u00e3o desejada, o painel de controle mostra o que voc\u00ea realmente tem e somente ele informa o que est\u00e1 instalado. <code>php -v<\/code> Indica o que est\u00e1 em execu\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para obter informa\u00e7\u00f5es b\u00e1sicas sobre como executar sites p\u00fablicos em m\u00e1quinas virtuais Synology, consulte nosso guia passo a passo em <a href=\"https:\/\/synopower.club\/pt\/synology-vdsm-docker-migration\/\">Mover um conjunto Docker entre m\u00e1quinas virtuais VDSM.<\/a> Abrange os h\u00e1bitos de captura e revers\u00e3o que tornaram poss\u00edvel sobreviver a essa emerg\u00eancia.<\/p>\n\n\n\n<h2 id=\"php2shell-limits-and-security-notes\" class=\"wp-block-heading\">Limita\u00e7\u00f5es e notas de seguran\u00e7a do PHP2Shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aplicar patches ao PHP2Shell \u00e9 simples no DSM, mas complexo em qualquer outro lugar, por isso vale a pena mencionar algumas limita\u00e7\u00f5es claramente antes de considerar o trabalho conclu\u00eddo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma atualiza\u00e7\u00e3o do pacote PHP2Shell n\u00e3o \u00e9 uma auditoria do site. Atualizar o PHP fecha a vulnerabilidade a partir desse momento, mas se o servidor estava acess\u00edvel pela internet entre 20 e 22 de outubro, isso ocorreu enquanto uma vulnerabilidade funcional estava dispon\u00edvel publicamente. Verifique os logs em busca de volumes inesperados de POST, procure por arquivos que apareceram em diret\u00f3rios grav\u00e1veis e alterne quaisquer credenciais que um processo do PHP possa ter utilizado. A variante de divulga\u00e7\u00e3o de mem\u00f3ria torna a rota\u00e7\u00e3o de credenciais uma precau\u00e7\u00e3o razo\u00e1vel, e n\u00e3o paranoia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A verifica\u00e7\u00e3o do PHP2Shell precisa ter como alvo o interpretador em execu\u00e7\u00e3o. Pain\u00e9is, logs de compila\u00e7\u00e3o e cabe\u00e7alhos de resposta falharam pelo menos uma vez durante esta rodada. Uma CDN pode remover o cabe\u00e7alho que indicaria a vers\u00e3o, uma compila\u00e7\u00e3o pode reportar sucesso enquanto reutiliza uma camada em cache e um pacote pode mostrar a vers\u00e3o atual enquanto um worker antigo ainda est\u00e1 em execu\u00e7\u00e3o. <code>php -v<\/code> O mecanismo que atende \u00e0s solicita\u00e7\u00f5es resolve o problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os cont\u00eaineres n\u00e3o s\u00e3o cobertos por nenhum aviso do fornecedor sobre o PHP2Shell. Vale a pena repetir isso, pois \u00e9 a falsa sensa\u00e7\u00e3o de seguran\u00e7a mais comum em um NAS. Se o seu site estiver rodando no Container Manager, o Package Center informar que tudo est\u00e1 atualizado n\u00e3o diz nada sobre o seu site. O mesmo se aplica a qualquer aplicativo de terceiros que inclua seu pr\u00f3prio ambiente de execu\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As medidas de mitiga\u00e7\u00e3o de configura\u00e7\u00e3o s\u00e3o parciais por natureza. Desativar o progresso de upload da sess\u00e3o ajuda, remover o limite de mem\u00f3ria troca um risco por outro, e um recurso de preven\u00e7\u00e3o de intrus\u00f5es do roteador n\u00e3o consegue inspecionar o tr\u00e1fego TLS que termina em outro lugar. Considere tudo isso como tempo ganho enquanto voc\u00ea providencia uma corre\u00e7\u00e3o definitiva, n\u00e3o como um substituto para ela.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vers\u00f5es em fim de vida \u00fatil n\u00e3o possuem nenhum caminho PHP2Shell. O PHP 7.3 e vers\u00f5es anteriores n\u00e3o receberam nenhuma atualiza\u00e7\u00e3o do reposit\u00f3rio principal nem do Synology. Se um site realmente precisa de uma vers\u00e3o sem suporte, a decis\u00e3o a ser tomada \u00e9 migrar, isolar ou remover o site da internet p\u00fablica. N\u00e3o h\u00e1 uma quarta op\u00e7\u00e3o, e fingir o contr\u00e1rio \u00e9 como um site legado se torna a porta de entrada para todo o resto no mesmo servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por fim, fique atento ao aviso em vez do ciclo de not\u00edcias. O usu\u00e1rio Synology marcou o aviso SA-26:14 como Resolvido e o revisou uma vez em at\u00e9 seis minutos ap\u00f3s a publica\u00e7\u00e3o. A QNAP informou que o aviso QSA-26-18 ser\u00e1 atualizado assim que as vers\u00f5es corrigidas estiverem dispon\u00edveis. Ambas as p\u00e1ginas ser\u00e3o alteradas, e os n\u00fameros de vers\u00e3o neste artigo s\u00e3o os que foram publicados em 22 de outubro de 2026.<\/p>\n\n\n\n<h2 id=\"references\" class=\"wp-block-heading\">Refer\u00eancias<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.synology.com\/en-global\/security\/advisory\/Synology_SA_26_14\" target=\"_blank\" rel=\"noreferrer noopener\">Synology-SA-26:14 Aviso de seguran\u00e7a PHP2Shell<\/a>, Publicado em 22 de outubro de 2026, status Resolvido, com vers\u00f5es corrigidas para PHP 7.4 a 8.4.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.synology.com\/en-global\/company\/news\/article\/php2shell\/Synology%20Statement%20on%20PHP2Shell%20Vulnerabilities\" target=\"_blank\" rel=\"noreferrer noopener\">Declara\u00e7\u00e3o Synology sobre vulnerabilidades do PHP2Shell<\/a>, a nota do PSIRT listando os pacotes afetados e a cobertura do DSM.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.qnap.com\/en\/security-advisory\/qsa-26-18\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">QNAP QSA-26-18<\/a>, status: Em corre\u00e7\u00e3o. Produtos afetados listados com vers\u00f5es corrigidas: A serem anunciadas.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.asustor.com\/product\/status_detail?id=14\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">An\u00fancio da descontinua\u00e7\u00e3o do PHP legado da ASUSTOR<\/a>, removendo o PHP 7, 7.3, 7.4 e 8.1 do App Central.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.helpnetsecurity.com\/2026\/10\/21\/php2shell-php-vulnerabilities-patched-cve-2026-109618-cve-2026-109619\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Ajude a Net Security nas vers\u00f5es upstream do PHP2Shell.<\/a>, abrangendo PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35 e os backports somente de c\u00f3digo-fonte para vers\u00f5es mais antigas.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"frequently-asked-questions\" class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list\">\n<div id=\"faq-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Meu NAS Synology \u00e9 vulner\u00e1vel ao PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Somente se executar um pacote dependente de PHP que seja acess\u00edvel. A Synology lista Calendar, IDrive, Joomla, KodExplorer, MailStation, MediaWiki, phpMyAdmin, vtigerCRM, Web Station e WordPress. O componente PHP interno do DSM est\u00e1 presente, mas a Synology afirma que n\u00e3o possui superf\u00edcie de ataque exposta e classifica o risco como m\u00ednimo.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Como fa\u00e7o para aplicar um patch no PHP2Shell no DSM?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Abra a Central de Pacotes, v\u00e1 para Instalados e atualize todos os pacotes PHP que mostrarem &quot;Atualiza\u00e7\u00e3o dispon\u00edvel&quot;. As vers\u00f5es de destino s\u00e3o 7.4.33-0131, 8.0.30-0122, 8.1.34-0120, 8.2.35-0171, 8.3.36-0051 e 8.4.27-0051. Os pacotes dependentes ser\u00e3o reiniciados automaticamente em seguida, exceto o Mail Station, que precisa de uma atualiza\u00e7\u00e3o manual.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Atualizar o WordPress resolve o problema?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>N\u00e3o. O bug est\u00e1 no mecanismo PHP, n\u00e3o no WordPress, portanto, atualiza\u00e7\u00f5es do n\u00facleo, temas e plugins n\u00e3o alteram nada. A \u00fanica solu\u00e7\u00e3o \u00e9 uma nova compila\u00e7\u00e3o do PHP. Este \u00e9 o mal-entendido mais comum sobre este aviso.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">O PHP 7.4 est\u00e1 realmente corrigido no Synology?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Sim. O Synology publicou a vers\u00e3o 7.4.33-0131, embora o PHP original tenha lan\u00e7ado apenas um backport do c\u00f3digo-fonte, sem n\u00famero de vers\u00e3o, para essa ramifica\u00e7\u00e3o. O PHP 7.3 \u00e9 diferente: o Synology afirma que nenhuma corre\u00e7\u00e3o ser\u00e1 fornecida porque a vers\u00e3o chegou ao fim de seu ciclo de vida.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">O PHP2Shell afeta meu site em execu\u00e7\u00e3o no Container Manager?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Nenhuma atualiza\u00e7\u00e3o de pacote resolve o problema. Voc\u00ea precisa reconstruir a imagem com `docker build --pull` para que a camada base seja baixada novamente, iniciar o servi\u00e7o com `up -d --no-deps` e, em seguida, confirmar com `php -v` dentro do cont\u00eainer. Uma sa\u00edda de compila\u00e7\u00e3o que indique sucesso n\u00e3o \u00e9 suficiente como evid\u00eancia.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">Desativar session.upload_progress me deixa seguro?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>Isso fecha um caminho, n\u00e3o todos. A variante de divulga\u00e7\u00e3o de mem\u00f3ria passa pelo processamento multipart comum e n\u00e3o precisa do recurso de sess\u00e3o. O projeto PHP afirmou que n\u00e3o existem mitiga\u00e7\u00f5es completas e que a atualiza\u00e7\u00e3o \u00e9 a \u00fanica solu\u00e7\u00e3o segura.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-7\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">A preven\u00e7\u00e3o de amea\u00e7as no meu roteador pode bloquear o PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>N\u00e3o de forma significativa. Trata-se de um mecanismo de assinatura que n\u00e3o consegue ler o conte\u00fado de TLS, o tr\u00e1fego entre um proxy reverso e uma origem na mesma sub-rede nunca o alcan\u00e7a, e os conjuntos de regras oficiais do Snort e de Amea\u00e7as Emergentes n\u00e3o haviam publicado nada para essas CVEs at\u00e9 o momento da reda\u00e7\u00e3o deste documento.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-8\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question\">A QNAP e a ASUSTOR j\u00e1 corrigiram o PHP2Shell?<\/h3>\n<div class=\"rank-math-answer\">\n\n<p>N\u00e3o a partir de 22 de outubro de 2026. O aviso da QNAP, QSA-26-18, tem o status &quot;Em corre\u00e7\u00e3o&quot;, com todas as vers\u00f5es corrigidas listadas como &quot;A serem anunciadas&quot;, e a ASUSTOR respondeu removendo o PHP legado do App Central em vez de publicar uma vers\u00e3o corrigida. O aviso Synology-SA-26:14 foi marcado como &quot;Resolvido&quot; no mesmo dia, com uma tabela de vers\u00f5es completa.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>PHP2Shell is the name the industry settled on for CVE-2026-109618 and CVE-2026-109619, a pair of critical flaws in the PHP engine itself that allow unauthenticated remote code execution. Details leaked on 20 October 2026, a day before the coordinated disclosure, and the PHP project shipped emergency releases on 21 October. Because the bug lives in [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":22085,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_xspeed_no_cache":false,"_xspeed_expiry_hours":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-others"],"_links":{"self":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts\/22083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/comments?post=22083"}],"version-history":[{"count":1,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts\/22083\/revisions"}],"predecessor-version":[{"id":22084,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/posts\/22083\/revisions\/22084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/media\/22085"}],"wp:attachment":[{"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/media?parent=22083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/categories?post=22083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/synopower.club\/pt\/wp-json\/wp\/v2\/tags?post=22083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}