Critical PHP vulnerability · CVSS 9.2

Is your website vulnerable to PHP2Shell?

PHP2Shell (CVE-2026-109618 and CVE-2026-109619) lets an attacker run code on your server without logging in, and attacks are already happening. We check your site, tell you exactly where you stand, and quote the fix.

Audit for only 29 € + VAT, one-time payment

Want the whole server checked? Full security audit for 199 € + VAT

Order the audit
We contact you within 2 working hours of payment
9.2
CVSS v4.0 score, both CVEs
0
logins the attacker needs
5.4+
oldest affected PHP version
1.3M+
exposed servers (estimate)

What is PHP2Shell?

PHP2Shell is the name for two critical flaws in the PHP engine itself, disclosed on 20 October 2026 and patched on 21 October 2026. Because they sit in PHP, not in WordPress, a plugin or your own code, every site running on a vulnerable PHP build is exposed, whatever the application.

The attack is a specially crafted HTTP request. PHP processes it before any of your application code runs, so logins, CAPTCHAs and security plugins do not stop it. Researchers have confirmed unauthenticated remote code execution against WordPress, Drupal, Joomla and Magento sites. The first exploitation attempts were seen on 17 October, before the public announcement, and attacks have grown since.

CVE-2026-109618

CVSS 9.2
Out-of-memory corruption

When PHP runs out of memory while it is still reading a POST request, it leaves a half-built entry behind. Request cleanup then treats that entry as valid, and the attacker controls what it contains, which can be turned into running their own code.

CVE-2026-109619

CVSS 9.2
Use-after-free across requests

State left over from one request can point to memory that has already been freed, and a later request on the same PHP worker uses it. This leaks memory contents and can lead to code execution. It is reachable through session upload progress, which is on by default.

Am I affected?

Any PHP installation that serves web requests is in scope: PHP-FPM, Apache mod_php, php-cgi, LiteSpeed and FrankenPHP. Check the PHP version that actually serves your website against this table.

PHP branch Status Safe version
PHP 8.5 Vulnerable before 8.5.12 8.5.12 or newer
PHP 8.4 Vulnerable before 8.4.27 8.4.27 or newer
PHP 8.3 Vulnerable before 8.3.36 8.3.36 or newer
PHP 8.2 Vulnerable before 8.2.35 8.2.35 or newer
PHP 7.4 – 8.1 Vulnerable, no official release (source backports only) Upgrade to 8.2+ or a vendor-patched package
PHP 5.4 – 7.3 Vulnerable, end of life, no fix Upgrade required

The version number alone can mislead. Linux distributions often backport fixes without changing it, the PHP you see on the command line can differ from the one serving your site, and shared hosting may run several versions at once. The audit settles it for your exact setup.

What the audit covers

An engineer checks your website by hand, not with an automated scanner, and sends you a written report in plain language.

The exact PHP version and SAPI (FPM, mod_php, LiteSpeed…) that serves your domain
Whether your hosting vendor has backported the fix into your PHP package
Error logs for warning signs: memory exhaustion "on line 0" and worker crashes
Signs of compromise since 17 October: web processes starting shells, unknown files, new admin users
Your CMS and plugins (WordPress, Joomla, Drupal, Magento, PrestaShop…) and how exposed they are
A written report with clear next steps and a quote for the fix

How it works

1

Order and pay

Enter your website's domain and pay for the audit you chose (29 € or 199 € + VAT) by card, bank link, PayPal or crypto.

2

We contact you within 2 hours

An engineer gets in touch within 2 working hours (Mon–Fri 9:00–18:00) to agree on access.

3

Report and fix quote

You get the findings in plain language and an estimated price for the fix. You decide whether we do it.

Choose your audit

Works for any website, wherever it is hosted. You do not need to be our hosting customer.

One-time payment, no subscription. VAT is added at checkout.

Fixing the problem

Every server is different, so the fix is priced individually. After the audit you get an approximate price and we start only when you agree.

  • Upgrading PHP to a patched release, or installing a backported build for 7.4–8.1
  • Hardening PHP and web server settings while an upgrade is planned
  • Checking that your CMS, plugins and theme work on the new PHP
  • Cleaning up and securing the site if signs of compromise are found

Hosted somewhere you cannot change PHP yourself? We tell you exactly what to ask your provider, or help you move.

What you can do right now

Updating PHP is the only complete fix. Until you can update, the PHP team's interim guidance is:

  • Set memory_limit=-1 at server level, so applications cannot override it, and limit request size at the web server or proxy. This blocks the known path for CVE-2026-109618.
  • Set session.upload_progress.enabled=0, and on PHP 8.5 also fatal_error_backtraces=0, for CVE-2026-109619.
  • Restart all PHP workers after the change.

A WAF such as Cloudflare helps against known attack patterns, but only for traffic routed through it. It is a stopgap, not a fix. If you are unsure whether these settings took effect, or whether someone got in before you changed them, that is exactly what the audit checks.

Frequently asked questions

What is PHP2Shell?
PHP2Shell is the name for two critical vulnerabilities in the PHP engine, CVE-2026-109618 and CVE-2026-109619, both rated 9.2 on CVSS v4.0. They let a remote attacker run code on a web server without logging in. Fixes were released on 21 October 2026 in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35.
Is my WordPress, Joomla, Drupal, Magento or PrestaShop site affected?
Most likely, if it runs on an unpatched PHP version. The flaw is in PHP itself, so it does not matter which CMS, online store or plugins you use. Researchers have confirmed working attacks against WordPress, Drupal, Joomla and Magento, and PrestaShop runs on PHP in exactly the same way. Online stores are a prime target, because a compromised server can leak customer data or have card skimmers injected into checkout.
Will a security plugin or a firewall protect me?
Security plugins do not help: the attack happens before WordPress or any other application code runs. A WAF can block known attack patterns for traffic that passes through it, but it is a stopgap. Only updating PHP fixes the problem.
Do I need to host my website with you?
No. We audit any website, wherever it is hosted. If your provider has to make the change, we tell you exactly what to ask for.
What access do you need?
We agree on this when we contact you. Usually it is access to your hosting control panel (cPanel, DirectAdmin, Plesk…) or SSH. Some checks are possible with less, and we explain what each level of access allows.
How fast will you contact me?
Within 2 working hours after your payment is received. Our working hours are Monday to Friday, 9:00–18:00 Vilnius time. Orders placed outside them are picked up first thing on the next working day.
How much does the fix cost?
It depends on what the audit finds: often it is a PHP update and a few settings, sometimes a larger upgrade or a clean-up. After the audit you get an approximate price and you decide whether to go ahead. The audit fee (29 € or 199 € + VAT) is a one-time payment.
What is the difference between the PHP2Shell audit and the full security audit?
The PHP2Shell audit (29 € + VAT) answers one question: is your site exposed to CVE-2026-109618 and CVE-2026-109619, and has anyone used them against you? The full security audit (199 € + VAT) includes all of that and then checks the rest of the server: outdated packages and kernel, server and firewall configuration, and your website's code, plugins and themes for common security mistakes. You get one prioritised report covering everything we found.
My site runs on PHP 7.4, 8.0 or 8.1. What now?
These versions have no official fixed release, only source backports from the PHP security team, and PHP 7.3 and older will not be fixed at all. The safe path is upgrading to PHP 8.2 or newer. The audit checks whether your site and plugins are ready for it.
What if my site has already been hacked?
Attacks started on 17 October 2026, before the announcement, so the audit looks for signs of compromise from that date. If we find any, we tell you and include the clean-up in the fix quote.
Sources: PHP, Tenable, Datadog Security Labs, Help Net Security. Information as of 22 October 2026.