Visão geral
Em 20 de outubro de 2026, a equipe de segurança do PHP publicou um aviso prévio sobre um lançamento emergencial que corrige duas vulnerabilidades críticas (ambas com pontuação CVSS de 9,2). Os patches foram disponibilizados na quarta-feira, 21 de outubro de 2026, às 14:00 UTC.
O lançamento foi antecipado depois que informações sobre as vulnerabilidades vazaram antes da data prevista para a divulgação. Em uma publicação no Hacker News, um usuário relatou duas falhas de RCE no PHP que supostamente afetam todas as versões a partir do PHP 5.4.0.
Trata-se das vulnerabilidades CVE-2026-109618 e CVE-2026-109619. Pouco depois da publicação, pesquisadores confirmaram a existência delas. Paralelamente ao vazamento dos detalhes, surgiu na internet um exploit com o nome não oficial PHP2Shell. Um vídeo de demonstração vazado mostra o exploit em ação em servidores web com WordPress, MediaWiki, phpBB, Magento, Joomla, Laravel, Symfony, Drupal e WHMCS, que estão por trás de muitos sites hoje em dia. Até o momento desta publicação, a autenticidade da demonstração e o comportamento exato do exploit não foram confirmados de forma independente.
O pesquisador que publicou a PoC afirmou que as vulnerabilidades estão relacionadas ao processamento do tipo multipart/form-data em conjunto com o mecanismo de acompanhamento do progresso de upload em sessão (session.upload_progress) no núcleo do PHP e pertencem às classes Use-After-Free (uso de memória já liberada) e corrupção de memória. Isso significa que as falhas não podem ser corrigidas no código da aplicação. A correção só é possível atualizando o PHP no servidor. O ataque funciona sem autenticação. Um invasor com acesso de rede a uma aplicação PHP pode executar código arbitrário com os privilégios do processo PHP, sem necessidade de autorização. As recomendações de segurança publicadas pelo PHP em 21 de outubro confirmam essas informações.
As vulnerabilidades afetam as versões 5, 7 e 8 do PHP. No momento desta publicação, as ramificações de 8.2 a 8.5 têm suporte. As ramificações mais antigas, incluindo PHP 8.1, 8.0, 7.x e 5.x, chegaram ao fim do ciclo de vida, mas, devido à criticidade elevada das vulnerabilidades, também foram lançados patches de backport para as versões 7.4, 8.0 e 8.1.
Os especialistas da Sansec estimaram que a exploração em massa pode começar em até 15 minutos após o lançamento da atualização. Recomendamos fortemente que os administradores de servidores web PHP expostos à internet adotem as seguintes medidas:
- Instalar o patch imediatamente.
- Inventariar todos os sistemas que executam PHP na infraestrutura (incluindo servidores web, painéis de controle, software de terceiros etc.).
- Planejar a migração para uma ramificação atual do PHP nos servidores com versões sem suporte (8.1 e anteriores).
Detecção com soluções da Kaspersky
As soluções da Kaspersky identificam com eficácia a atividade maliciosa descrita em diferentes estágios do ataque. A seguir, apresentamos possíveis cenários de detecção.
Nas tentativas de explorar essas vulnerabilidades de RCE, o Kaspersky Endpoint Detection and Response alerta prontamente o usuário sobre ações suspeitas executadas no contexto do servidor web, tanto em máquinas Linux quanto em Windows. Essa atividade é detectada pelas seguintes regras:
- creating_windows_shell_from_a_web_servers_process;
- possible_web_shell_creating_via_exploit;
- spawning_process_from_webserver_more_filters_linux;
- webserver_interpreter_execution_linux;
- executable_file_in_www_folder.
O Kaspersky Anti Targeted Attack (KATA) detecta a exploração da vulnerabilidade PHP2Shell no tráfego de rede. A solução detecta essa atividade com os veredictos Exploit.CVE-2026-109618.HTTP.C&C e Exploit.CVE-2026-109619.HTTP.C&C.
O Kaspersky Endpoint Security, agora disponível como Kaspersky Next, também detecta atividade maliciosa pós-exploração por meio do componente Behavior Detection como PDM:Exploit.Linux.Generic e PDM:Exploit.Win32.Generic.
Nossa solução Kaspersky Vulnerability Management detecta versões vulneráveis de software por meio dos componentes Vulnerability scanning e Agentless black-box scanning.
O serviço Kaspersky Managed Detection and Response (MDR) detecta a exploração das vulnerabilidades descritas monitorando ações características de falhas de RCE:
- Criação de processos suspeitos pelo servidor web,
- Criação de arquivos executáveis suspeitos no diretório da aplicação web,
- Criação de scripts suspeitos no diretório da aplicação web,
- Criação de arquivos com extensões incomuns no diretório da aplicação web,
- Execução de comandos de reconhecimento em nome do servidor web,
- Execução de comandos de persistência em nome do servidor web,
- Entrega e execução de web shells no servidor web.
Além disso, o MDR detecta outras ações maliciosas não relacionadas diretamente à execução remota de código.
Para proteger as empresas que usam o Kaspersky SIEM, o repositório do produto disponibiliza regras que ajudam a detectar a seguinte atividade maliciosa:
- Execução de arquivos executáveis suspeitos por processos do servidor web em máquinas Windows e Linux:
- R300_04_Windows shell started by a web application
- R152_08_A running Linux shell process has a suspicious parent process
- Execução de comandos de reconhecimento em nome do servidor web:
- R286_05_Possible web-shell (Linux)
Para desenvolver regras de detecção próprias ou realizar threat hunting, recomendamos também monitorar eventos de criação de scripts ou arquivos executáveis no diretório do servidor web:
|
1 2 3 |
((DeviceEventClassID = '4663' AND DeviceCustomString1 ilike 'WriteData') OR DeviceEventClassID = '11') AND match(FileName,'(?i).*\.(php|asp|aspx|ashx|jsp|js|jar|jse|dll|exe|bat|ps1|vbs|wsf|wsh|msi|msp|hta|cpl)$') AND match(DestinationProcessName,'(?i).*(php-cgi|nginx|httpd|w3wp)\.exe') |
|
1 2 3 4 5 |
Name = 'openat' AND has(SA.Nametype, 'CREATE') AND length(arrayFilter(x -> match(x, '(public_html|var/www|usr/local/apache2|usr/local/httpd|var/apache|srv/www|home/httpd/html|srv/http|usr/share/nginx/html|var/lib/pgsql/data|usr/local/mysql/data|var/lib/mysql|var/vsftpd|etc/bind|var/named)'), SA.FileName))>1 AND length(arrayFilter(x -> match(x, '\.(aspx|asp|asmx|asax|ashx|jspx|jsp|js|phpt|php|phtml|pht|cfm|shtml|htaccess|fcgi|cgi|pl|py|sh)'), SA.FileName))>1 |





Vulnerabilidades críticas de RCE no núcleo do PHP (CVE-2026-109618, CVE-2026-109619)