Minecraft.How
Loading...
Skip to content
PHP code illustrating PHP-powered Minecraft website and hosting panel security

PHP2Shell: Critical PHP Bugs Threaten Minecraft Hosting Panels

Alex Maftei
Alex Maftei
@ice
19 views
TL;DR:PHP patched two critical unauthenticated RCE vulnerabilities on 21 October 2026. Upgrade to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35 (or verified vendor-backported builds), and check the PHP runtime behind Minecraft hosting panels.

Updated 23 October 2026. Two critical flaws in the PHP language runtime have prompted an urgent security update for websites and hosting platforms. The vulnerabilities, CVE-2026-109618 and CVE-2026-109619, are collectively known as PHP2Shell. Both carry a 9.2 CVSS v4.0 score and can, under exploitable conditions, allow unauthenticated remote code execution (RCE). The problem is in PHP's internals, not simply a vulnerable plugin or a coding mistake in one website.

This matters to Minecraft communities because many server networks use PHP-based websites, shops, billing portals, custom player dashboards or hosting panels. PHP2Shell does not mean the Minecraft Java or Bedrock game engine is itself vulnerable. The danger is the web software surrounding your server, especially an internet-facing administration panel running unpatched PHP.

What happened on 21 October 2026?

The PHP security team released fixes on 21 October 2026 across all four supported branches. According to the official security advisory, affected servers should be updated immediately. There is no complete mitigation other than installing a fixed build. CERT-EU reported that initial public proofs of concept had begun circulating, increasing the urgency of patching. That does not mean every PHP server has already been exploited.

One concern is that the failures occur in request processing and engine memory management. For some configurations, checks inside the web application may happen too late to block the vulnerable path. The PHP team says mod_php on Apache presents the highest risk, and describes a demonstrated unauthenticated attack before application code runs. PHP-FPM, PHP-CGI, LiteSpeed and FrankenPHP installations must also be assessed.

What are the two vulnerabilities?

CVE-2026-109618: PHP out-of-memory corruption

PHP can interrupt a request when it reaches an internal or configured memory limit. The first flaw arises when this interruption happens while request data is only partly initialized. Cleanup can then treat invalid memory as legitimate data, resulting in memory corruption. In certain conditions, an attacker can turn that mistake into code execution. This is why merely reviewing your Laravel controllers or input validation is not a substitute for a PHP runtime patch.

CVE-2026-109619: Stale state between requests

The second flaw involves temporary internal pointers that may persist after the memory they reference has been freed. If a later request is processed by the same worker, it may encounter this stale state before initialization resets it. This use-after-free situation can also lead to memory corruption and remote code execution. See the independent CERT-EU analysis and the PHP Foundation's explanation for verified details.

Affected PHP versions and patched releases

PHP branchAffected upstream versionsFirst fixed release
PHP 8.5Earlier than 8.5.128.5.12
PHP 8.4Earlier than 8.4.278.4.27
PHP 8.3Earlier than 8.3.368.3.36
PHP 8.2Earlier than 8.2.358.2.35
PHP 8.1 and olderEnd-of-life upstream branchesMove to a supported release or a documented vendor-security backport

Do not judge Ubuntu security status by the upstream version number alone. Linux distributions may backport a fix to an older-looking package version while keeping their normal package naming. Ubuntu's security notice USN-8948-1 documents its patched package revisions across supported releases. Check whether your precise installed package is at least the revision listed for your distribution. PHP 8.2 also reaches upstream end of life on 31 December 2026, so operators still using it should plan a supported upgrade.

What does PHP2Shell mean for Minecraft server hosting?

Most game server processes are not PHP applications. A Minecraft server running Java, Bedrock Dedicated Server or a proxy such as Velocity is not affected by PHP2Shell just because it shares a computer with PHP. However, the supporting web infrastructure might be:

  • Game hosting control panels: a PHP application that manages customer accounts, file access or server actions.
  • Minecraft network websites: login areas, player profiles, vote-reward pages or application forms.
  • Stores and billing portals: PHP-powered services that handle account records and administrator sessions.
  • Custom tools: older community dashboards or staff panels that rarely receive runtime updates.

Pterodactyl is an example of a PHP-based hosting panel, not a separately confirmed application exploit. Its official 2.0 documentation specifies PHP 8.3 or PHP 8.4 for the Panel. Anyone operating that version should check the PHP runtime serving the Panel and install a relevant patched build. Wings, Pterodactyl's separate game-server daemon, is not the PHP Panel. Operators advertising communities through our Minecraft server directory should inventory the connected websites and control panels even if the game server itself is hosted on another machine.

How to check a server and apply the PHP2Shell patch

Step 1: Identify the PHP runtime that serves your website

On Linux, different PHP runtimes can coexist. The PHP you see in a terminal may not be the one Nginx, Apache or a Docker container uses for web traffic. Start with an inventory of internet-facing domains, installed PHP packages, configured FPM pools and container images. On Debian or Ubuntu, these read-only checks help:

php -v
systemctl list-units 'php*-fpm.service'
dpkg -l 'php*' | grep '^ii'

Match the actual Nginx fastcgi socket or Apache module with the runtime in production, then compare its package revision with the vendor's advisory. Avoid exposing a public phpinfo() diagnostic page; it can reveal sensitive configuration details.

Step 2: Plan a safe update

Take a snapshot or backup of your panel, settings and database before changing production. For Ubuntu servers, refresh package indexes and review what will be updated:

sudo apt update
apt list --upgradable

Install the PHP security packages provided by your operating system, supported PHP repository, panel vendor or container image maintainer. Do not blindly switch major PHP versions: first check your specific Pterodactyl, Laravel or other panel's supported PHP range and required extensions. For Docker, rebuilding an image and recreating the running service may be necessary. For shared hosting, check your host's maintenance advisory and ask it to confirm remediation.

Step 3: Restart and verify the running service

Reloading the web server alone might not replace old PHP workers. Restart the relevant PHP-FPM pool, Apache runtime or container deployment according to your environment and verify the actual web service is using fixed binaries. If you upgrade PHP for Pterodactyl, also restart its queue worker as described in the official PHP upgrade guide, and check its dependency requirements. Test login, panel actions, file uploads, scheduled jobs and Minecraft integrations after deployment.

Review recent PHP crashes, abnormal HTTP requests and unexpected child processes. These can be useful investigation leads, but they are not proof of compromise. If logs or forensics indicate an intrusion, isolate the affected system and follow a proper incident-response plan; patching alone does not remove attacker-installed files or stolen credentials.

What if you cannot patch immediately?

The PHP project's advisory is explicit: there is no complete workaround. CERT-EU recommends isolating vulnerable public-facing systems until updates can be applied. Where possible, restrict a hosting panel to trusted network access, pause unnecessary public services, or take a vulnerable web application temporarily offline.

PHP also describes partial configuration mitigations involving request-body limits, upload-progress behavior and certain error-handling paths. These do not cover every attack vector and can create operational trade-offs. For example, disabling PHP's memory limit can increase resource-exhaustion exposure; it is not a safe universal fix for shared hosting. A web application firewall can reduce known exploit traffic, but cannot guarantee protection against PHP2Shell. Prioritize installing the fixed PHP package instead of relying on temporary settings.

What should Minecraft community administrators do today?

Audit every PHP-powered web property connected to your Minecraft network, not only the main game server. Identify the runtime, confirm whether its exact build contains the 21 October fix, patch it, restart the real serving processes and test the site. Check hosted billing or admin portals with providers as well. These are serious runtime bugs, but operators who deploy verified vendor fixes and validate their services can substantially reduce their exposure.

Official and authoritative sources: PHP Security Team, CERT-EU 2026-018, Ubuntu USN-8948-1, PHP Foundation and Pterodactyl documentation.

About the author
Alex Maftei
Alex MafteiLead Writer

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Share with your friends!

Frequently Asked Questions

Which PHP versions fix PHP2Shell?
The first fixed upstream releases are PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, all published on 21 October 2026. Some distribution packages use older-looking version numbers with a verified backported security fix.
Are Minecraft servers directly vulnerable to PHP2Shell?
No. PHP2Shell is a PHP web-runtime issue, not a flaw in the Minecraft Java or Bedrock server engine. PHP-based websites, hosting panels and community management tools around the game server may be affected.
Does Pterodactyl need a PHP2Shell update?
Operators of Pterodactyl's PHP-powered Panel should verify and patch the PHP version actually serving that Panel. This is not a claim that Pterodactyl itself or its separate Wings daemon has a distinct vulnerability.
Will a WAF or modified memory_limit fully protect an unpatched PHP server?
No. Official PHP guidance states that there are no complete mitigations. WAF rules and configuration changes may reduce exposure to some paths but are not substitutes for a security update.
How do I confirm a Linux PHP package is patched?
Check the exact installed distro package revision and compare it with the vendor's security advisory. Some distros backport fixes without changing to the upstream fixed version string. Also verify the PHP-FPM/Apache runtime serving requests, not only php -v on the command line.

Have a Question or Tip about this Guide?Community Q&A

Ask a question or help other players below. Join the discussion and share your Minecraft tips!

Comments

No comments yet. Be the first to share your thoughts!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy