Cyber security

PHP2Shell: when a software vulnerability becomes a global emergency

Two vulnerabilities in the engine powering most of the world’s websites were accidentally revealed, and this literally caused panic. Here’s what happened

6' min read

Translated by AI
Versione italiana

6' min read

Translated by AI
Versione italiana

Recent reports indicate that a number of European institutional websites have been taken offline as a precaution. The decision to suspend services was prompted by the discovery of two serious security flaws in PHP, a programming language used by a vast proportion of the web. Yesterday, in fact, two vulnerabilities in the engine powering most of the world’s websites were accidentally revealed, and this literally sparked panic amongst IT managers in companies.

What is Php2Shell?

The vulnerability, known as PhP2Shell, consists of two separate flaws (assigned the CVE identifiers CVE-2026-109618 and CVE-2026-109619), which, when combined, allow attackers to take control of many web-facing servers, giving them unrestricted access to the data and files stored on them. This means that criminals can disrupt internet services and steal stored data. In reality, it is estimated that ‘only’ 70 per cent of websites use PHP as their engine, and not all of these are vulnerable. The fact remains that it appears at least half are successfully exploitable, and those that are not yet affected cannot be certain they are safe; consequently, they are working hard to determine what countermeasures to adopt and to restore services that have (often) been taken offline. Among the sites that went offline were the BBC’s website, several Finnish government sites, the website of the Dutch cybersecurity agency, and so on. From their perspective, consumers can do nothing but wait; however, the situation is now returning to normal, as on 21 October the PHP project released emergency updates for the versions still under support. The seriousness of the situation also led to a joint statement from the European Commission, ENISA, CERT-EU, Europol and the European CSIRT network, which urged organisations to take immediate action, prioritising systems exposed to the internet. And as the dust settles, it is becoming clear that there are many pieces of the puzzle to put in place and many lessons to be learnt from this incident.

Loading...

Let’s start with the vulnerabilities

A very interesting aspect of this whole crisis is that the first signs of it date back two years. The underlying issue behind CVE-2026-109618 had, in fact, already come to light in 2024, during an external security audit of the PHP engine. At the time, however, the PHP development team had been unable to find a satisfactory solution. The flaw concerned a particularly sensitive part of the language’s internal workings, and the possible fixes carried consequences that were difficult to assess: incompatibility with existing software, new risks of denial-of-service attacks, and potential problems for the numerous extensions developed by third parties. This is something that often happens with widely used software such as PHP, which underpins the operations of companies, institutions and services that are more or less indispensable. Furthermore, there was no convincing evidence that the problem could be exploited to execute code remotely. It was known that there was a problem, but it was not certain that it could actually be exploited for illegal purposes. The decision was made to wait: a move that, in modern computing, almost always spells big trouble. And trouble did indeed come in the form of AI systems designed to assist with cybersecurity: following the launch of Mythos by Anthropic, disturbing reports began to emerge, showing that the dormant vulnerability was indeed a potential threat. The PHP Foundation began to step up its efforts, drawing on AI tools and advice from companies specialising in cybersecurity, but the task remained complex.

The turning point comes on 11 August 2026: someone finds a way to hack into the servers.

In August, Ryan A, a researcher at the security firm Calif, reported a potential arbitrary code execution vulnerability to the PHP project, which stemmed from the same root cause as the memory management issue identified in 2024. On the same day, the same report was submitted independently by OpenAI, confirming the same root cause. This was followed by further findings from Wiz on 24 August, and new attack vectors identified by OpenAI on 18 September.

At this stage, according to a statement from the PHP Foundation, fixing the issue has become the security team’s main priority, with developers working even at weekends and late into the night.

The disclosure was supposed to be coordinated. But it all went pear-shaped.

Once the severity of the vulnerabilities had been confirmed, the PHP project organised a coordinated vulnerability disclosure process, involving researchers, software distributors, cloud providers and security firms, so that everyone would keep the issue under wraps until a fix was ready, thereby preventing criminals from gaining a virtually ‘unstoppable’ tool for hacking websites. The countermeasure was initially due to be released on 22 October at 14:00 UTC, but the plan began to unravel on 20 October, around 15:00 UTC, when the two CVE identifiers began circulating on forums and social media. The information circulating reported a CVSS score of 10.0 (incorrect; the score assigned was 9.2 for both) and an incorrect publication time. They did not yet contain sufficient technical details to explain how the flaws could be exploited, but they alerted the criminal community, which found it hard to believe that such a powerful vulnerability was about to be disclosed. The PHP project decided to bring forward the public announcement, which was released at 19:30 UTC, and to postpone the release of the patches until 21 October. The decision not to publish the updates immediately was for practical reasons: distributors were still preparing the patch packages. Releasing the details without simultaneously offering a solution to secure the systems would have risked doing criminals a huge favour.

And then things take a turn for the worse: a video is posted by mistake

The situation took a turn for the worse a few hours after the announcement. At around 20:00 UTC on 20 October, Calif mistakenly published a video showing a proof of concept in action – that is, a practical demonstration of how the vulnerabilities could be exploited. The video was removed, but some copies remained available online and began to circulate. According to the PHP Foundation, attempts to exploit the vulnerabilities began at that point (although they were not yet fully documented, criminals began trying to do so), and the security team monitored the demonstrations published in the hours that followed, without, however, identifying any working exploits amongst those examined prior to the official disclosure.

And it all becomes public knowledge

And following Calif’s clumsy actions, which gave the criminals some clues, the most controversial incident took place on the morning of 21 October, at 09:41. According to the PHP Foundation’s account, Chainguard (another specialist firm) published container images that already contained the fixes, more than six hours before the coordinated release. Chainguard had received the patches in advance, like other distributors, to enable its customers to update their systems promptly. Their early publication, however, made it possible to analyse the differences between the vulnerable code and the fixed code, opening a Pandora’s box and revealing how to exploit the vulnerabilities. The PHP Foundation explicitly accused Chainguard of unilaterally breaching the embargo, undermining weeks of coordination, but the damage was already done. On 21 October, at around 3.40 pm, the fixed versions of PHP were finally released and the details of the vulnerabilities published.

Why does PHP2Shell pose such a widespread risk?

PHP underpins a significant proportion of websites and business applications. It is used by platforms such as WordPress, Drupal and Joomla, as well as by enterprise management systems, e-commerce portals, in-house applications and numerous third-party services. According to Wiz’s analysis, the vulnerabilities affect code found in versions of PHP dating back over a decade, and at least one of the flaws affects releases up to the PHP 5.4 family. The fact that they are so old and have only just been spotted is a consequence of the advent of AI in cybersecurity management: AI systems are far better than humans at hunting down vulnerabilities, particularly in mammoth projects such as this. Unfortunately, the effort required to patch them is still far too ‘human’-dependent, and if the problem is complex, it can take several months to reach a resolution. This time, the disclosure plan fell apart just a few hours before it was due to conclude, and the consequences are minor, although there are currently many reports of attempts to exploit this vulnerability. But unless a better and more reliable system is found to manage the confidentiality of these issues, one day we could all find ourselves in serious trouble, with no way of remedying the situation.

Copyright reserved ©

Brand connect

Loading...

Newsletter

Notizie e approfondimenti sugli avvenimenti politici, economici e finanziari.

Iscriviti