{"id":31035,"date":"2026-11-03T14:00:25","date_gmt":"2026-11-03T14:00:25","guid":{"rendered":"https:\/\/www.kaspersky.co.uk\/blog\/php2shell-two-weeks-after-patches\/31035\/"},"modified":"2026-11-03T14:00:25","modified_gmt":"2026-11-03T14:00:25","slug":"php2shell-two-weeks-after-patches","status":"publish","type":"post","link":"https:\/\/www.kaspersky.co.uk\/blog\/php2shell-two-weeks-after-patches\/31035\/","title":{"rendered":"PHP2Shell: what we know about the threat two weeks later"},"content":{"rendered":"<p>Late October brought several unsettling cybersecurity stories all at once. Among these were two critical vulnerabilities in PHP, which potentially affected about <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\" target=\"_blank\" rel=\"noopener nofollow\">70% of websites<\/a> worldwide. <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2026-109618\" target=\"_blank\" rel=\"noopener nofollow\">CVE-2026-109618<\/a> and <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2026-109619\" target=\"_blank\" rel=\"noopener nofollow\">CVE-2026-109619<\/a> \u2014 dubbed PHP2Shell \u2014 could let attackers execute code on a server remotely, without authentication.<\/p>\n<p>On October 21, PHP\u2019s developers released emergency patches for the supported PHP 8.2\u20138.5 branches and for the unsupported PHP 7.4, 8.0, and 8.1. Experts predicted that attacks on vulnerable servers would start within 15 minutes of the updates going public. Amazon even <a href=\"https:\/\/aws.amazon.com\/blogs\/security\/amazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot\/\" target=\"_blank\" rel=\"noopener nofollow\">reported<\/a> exploitation attempts four days before the patches came out. With all this in the news, some organizations sounded the alarm early. For example, in several countries, government service websites were <a href=\"https:\/\/www.reuters.com\/world\/asia-pacific\/eu-agency-warns-websites-may-need-be-taken-offline-php-prepares-patches-2026-10-21\/\" target=\"_blank\" rel=\"noopener nofollow\">taken offline<\/a> as a precaution. Even Wikipedia\u2019s project management and bug-tracking system suspended service.<\/p>\n<p>Nearly two weeks have passed since the updates came out, but according to <a href=\"https:\/\/php2shell.censys.com\/\" target=\"_blank\" rel=\"noopener nofollow\">Censys data<\/a>, of the 46 million scannable servers running a vulnerable PHP version, 29 million still contain the flaws. Right after the patches were published, we <a href=\"https:\/\/securelist.com\/tr\/php2shell-critical-vulnerabilities-in-php\/121596\/\" target=\"_blank\" rel=\"noopener\">broke down each flaw in detail<\/a> and explained what <a href=\"https:\/\/www.kaspersky.com\/blog\/cve-2026-109618-109619-php-vulnerabilities\/56583\/\" target=\"_blank\" rel=\"noopener nofollow\">companies<\/a> and <a href=\"https:\/\/www.kaspersky.com\/blog\/how-to-mitigate-php2shell-at-home\/56592\/\" target=\"_blank\" rel=\"noopener nofollow\">everyday users<\/a> should do. In this post we cover what\u2019s known about the threat today, and what extra steps businesses need to take.<\/p>\n<h2>What happened after the PHP2Shell patches<\/h2>\n<p>The news about critical PHP vulnerabilities set off a flurry of reactions. Researchers <a href=\"https:\/\/x.com\/eastdakota\/status\/2113079352682570051\" target=\"_blank\" rel=\"noopener nofollow\">noted<\/a> a large number of exploitation attempts, and fresh exploits kept appearing in batches\u00a0\u2014 courtesy of AI. A Palo Alto Networks unit even reported a PHP2Shell attack on a government agency in Europe, though it later <a href=\"https:\/\/thehackernews.com\/2026\/10\/php2shell-exploitation-hits-government.html\" target=\"_blank\" rel=\"noopener nofollow\">retracted<\/a> that statement. Solid evidence of how these vulnerabilities can actually be exploited only emerged later. On top of that, a third, unpatched one turned up.<\/p>\n<h3>A vulnerability with no patch<\/h3>\n<p>On Friday, October 23, the PHP team warned about a new vulnerability \u2014 <a href=\"https:\/\/www.php.net\/archive\/2026.php#2026-10-23-1\" target=\"_blank\" rel=\"noopener nofollow\">CVE-2026-115560<\/a> \u2014 which can be used for remote code execution. But attackers can only pull this off on systems with an \u201cunusual combination of configuration and application code\u201d. That configuration is so exotic that the developers decided against an emergency patch, and will close the vulnerability on the regular schedule. In the meantime, they advised users to disable the <code>session.upload_progress.enabled<\/code> INI option.<\/p>\n<h3>First signs of PHP flaws being exploited<\/h3>\n<p>Let\u2019s get back to the more serious threats. The most substantial confirmation of PHP2Shell exploitation in real-world attacks only came on October 24. Honeypot servers run by Adel Karimi of Perplexity running PHP 8.4.26 and presenting ordinary web pages <a href=\"https:\/\/github.com\/0x4D31\/honeypot-data\/tree\/main\/reports\/php2shell\/2026-10-24-rce-evidence\" target=\"_blank\" rel=\"noopener nofollow\">recorded<\/a> successful attacks from two IP addresses. The observed exploit chain was consistent with CVE-2026-109618. There\u2019s an important caveat, though: the researcher\u2019s honeypot ran the Apache mod_php module, which is the configuration most convenient for attackers.<\/p>\n<p>Later, on October 26, the U.S. Cybersecurity and Infrastructure Security Agency (CISA) <a href=\"https:\/\/www.cisa.gov\/news-events\/alerts\/2026\/10\/26\/cisa-adds-two-known-exploited-vulnerabilities-catalog\" target=\"_blank\" rel=\"noopener nofollow\">added<\/a> both CVE-2026-109618 and CVE-2026-109619 to its Known Exploited Vulnerabilities (KEV) catalog. That confirmed the threat isn\u2019t just theoretical.<\/p>\n<h3>Real-world breaches with PHP2Shell<\/h3>\n<p>On October 26, the technology company Dream reported that 25 firewalls and management servers had been compromised in the U.S., Japan, Taiwan, and South Korea. Three of them were in an environment presumed to be linked to U.S. government agencies. The attackers combined PHP2Shell with a Linux kernel vulnerability dubbed Fragnesia (<a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2026-46300\" target=\"_blank\" rel=\"noopener nofollow\">CVE-2026-46300<\/a>). Upon gaining full administrative control, they were able to extract the password of an LDAP service account and steal the listing of users and groups, full network configuration, and private keys.<\/p>\n<p>Dream initially didn\u2019t name the device vendor. In its October 29 update, though, the company <a href=\"https:\/\/dreamgroup.com\/blog\/chained-php2shell-exploit-roots-25-servers\" target=\"_blank\" rel=\"noopener nofollow\">stated<\/a> that the systems were Palo Alto Networks devices running certain versions of PAN-OS. The vendor <a href=\"https:\/\/security.paloaltonetworks.com\/CVE-2026-109618\" target=\"_blank\" rel=\"noopener nofollow\">confirmed<\/a> attacks on management interfaces exposed to the internet. It urged customers to close public access to those interfaces, limit it to trusted internal IP addresses, and install patches.<\/p>\n<h2>Why there are so few incidents<\/h2>\n<p>Exploits are multiplying, but no wave of breaches has materialized, and the possibility of mass compromise of PHP servers remains unconfirmed. Even in the Palo Alto case, the scale of the attack was minimal: out of about 19\u00a0000 devices found, the attackers picked just 240, which were running software versions their exploit could handle.<\/p>\n<p>As it turns out, the existing PHP2Shell exploits aren\u2019t one-size-fits-all. To exploit the vulnerabilities in a given environment, attackers have to account for the exact PHP build, memory settings, request handling, and application specifics. Still, the danger remains, so don\u2019t neglect protective measures.<\/p>\n<h2>How to stay safe<\/h2>\n<p>The key advice stays the same: update. You can find the latest versions of the language <a href=\"https:\/\/www.php.net\/archive\/2026.php#2026-10-21-5\" target=\"_blank\" rel=\"noopener nofollow\">on the PHP website<\/a>. But installing patches isn\u2019t enough. You also need to run a thorough audit of your systems and check every component that runs on PHP for signs of compromise.<\/p>\n<h3><strong>Why install the second round of PHP updates?<\/strong><\/h3>\n<p>Five days after releasing the emergency patches, the PHP developers published another round of fixes. The reason is that the updates that fixed PHP2Shell didn\u2019t cover the <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/cve-2026-111497\" target=\"_blank\" rel=\"noopener nofollow\">CVE-2026-111497<\/a> vulnerability in Brotli, a third-party library. Exploiting this flaw can lead to code execution when PHP processes a specially crafted compressed response from an external server. The builds from October 25 include a patched version of the library. The latest PHP versions are 8.2.35-1, 8.3.36-1, 8.4.27-1, and 8.5.12-1. The first attack exploiting this vulnerability was <a href=\"https:\/\/ellio.tech\/en\/blog\/node2shell-cve-2026-111497-rce-on-stock-nodejs-builds\/\" target=\"_blank\" rel=\"noopener nofollow\">recorded<\/a> on October 26, so don\u2019t put off installing the updates.<\/p>\n<h3>Threat detection<\/h3>\n<p>Possible signs of a PHP2Shell compromise include unusual POST requests that contain <code>multipart\/form-data<\/code> media type, suspicious combinations of <code>PHP_SESSION_UPLOAD_PROGRESS<\/code> and upload parameters, atypical request sizes and request bursts, and HTTP 500 errors accompanied by PHP out-of-memory messages.<\/p>\n<p>Kaspersky solutions can help you spot the threat at different stages of an attack.<\/p>\n<ul>\n<li><a href=\"https:\/\/www.kaspersky.co.uk\/enterprise-security\/endpoint-detection-response-edr?icid=gb_kdaily_placeholder_sm-team_767940fe2463575a\" target=\"_blank\" rel=\"noopener\">Kaspersky NEXT EDR Expert<\/a> promptly alerts you to suspicious activity running in the context of Linux and Windows web servers.<\/li>\n<li><a href=\"https:\/\/www.kaspersky.co.uk\/enterprise-security\/anti-targeted-attack-platform?icid=gb_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky Anti Targeted Attack (KATA)<\/a> with the NDR module check network traffic for exploitation of the flaws described above.<\/li>\n<li><a href=\"https:\/\/www.kaspersky.co.uk\/enterprise-security\/vulnerability-management?icid=gb_kdaily_placeholder_sm-team_ab0e389acaf82247\" target=\"_blank\" rel=\"noopener\">Kaspersky Vulnerability Management<\/a> helps you find vulnerable versions of software.<\/li>\n<li><a href=\"https:\/\/www.kaspersky.co.uk\/enterprise-security\/managed-detection-and-response?icid=gb_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky Managed Detection and Response<\/a> detects exploitation of CVE-2026-109618 and CVE-2026-109619 by monitoring for behavior characteristic of RCE attacks.<\/li>\n<li><a href=\"https:\/\/www.kaspersky.co.uk\/enterprise-security\/unified-monitoring-and-analysis-platform?icid=gb_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky SIEM<\/a> has been updated with new rules that help detect malicious activity typical of PHP2Shell.<\/li>\n<\/ul>\n<p>To learn more about how our solutions detect attempts to exploit PHP vulnerabilities, read our expert blog, <a href=\"https:\/\/securelist.com\/tr\/php2shell-critical-vulnerabilities-in-php\/121596\/\" target=\"_blank\" rel=\"noopener\">Securelist<\/a>.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" data-type=\"posts\" value=\"mdr\">\n","protected":false},"excerpt":{"rendered":"<p>Critical PHP vulnerabilities put millions of websites worldwide at risk, but there are still no reports of mass breaches. We discuss the attacks on PAN-OS, a flaw in Brotli, and the steps businesses need to take beyond patching.<\/p>\n","protected":false},"author":2800,"featured_media":31036,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1836,2360,2361],"tags":[398,3161,192,2680,268],"class_list":["post-31035","post","type-post","status-publish","format-standard","has-post-thumbnail","category-business","category-enterprise","category-smb","tag-patches","tag-php","tag-protection","tag-rce","tag-vulnerabilities"],"hreflang":[{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/php2shell-two-weeks-after-patches\/31035\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/php2shell-two-weeks-after-patches\/31193\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/php2shell-two-weeks-after-patches\/26225\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/php2shell-two-weeks-after-patches\/42947\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/php2shell-two-weeks-after-patches\/56647\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/php2shell-two-weeks-after-patches\/31189\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/php2shell-two-weeks-after-patches\/36936\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/php2shell-two-weeks-after-patches\/36604\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.co.uk\/blog\/tag\/vulnerabilities\/","name":"vulnerabilities"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/posts\/31035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/users\/2800"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=31035"}],"version-history":[{"count":0,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/posts\/31035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/media\/31036"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=31035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=31035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=31035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}