Bastion / Online check

Check a php -v output against PHP2Shell

Runs in your browser with the same rules as the command-line tool. Nothing you paste leaves this page.

Inputlocal only
Examples

Package line from one of: dpkg-query -W 'php*' · rpm -qa 'php*' · apk info -v | grep php · cat /etc/os-release

Paste output on the left, or pick an example.

This page sees only what you paste. A server usually has several PHP builds, and running workers may still use old code. sudo bastion scan checks all of them, including containers and images, and reports which interim mitigations are in place.

Upgrade guide

Per environment. Whatever you upgrade, restart every PHP worker afterwards and check again.

Upgrade every package of your PHP branch, then restart the services that run it.

sudo apt update
sudo apt install --only-upgrade 'php8.3*'      # use your branch: php8.1, php8.2, php8.4 …
dpkg-query -W 'php8.3*'                      # compare with the table below
sudo systemctl restart php8.3-fpm apache2    # whichever you run

Ubuntu 20.04 and older receive the fix through Ubuntu Pro only (sudo pro attach). Debian 11 is outside Debian LTS.

Fixed package versions published by vendors
ReleasePackageFixed inAdvisory
ubuntu 26.10php8.58.5.9-0ubuntu2.1USN-8948-1
ubuntu 26.04php8.58.5.4-0ubuntu1.5USN-8948-1
ubuntu 24.04php8.38.3.6-0ubuntu0.24.04.13USN-8948-1
ubuntu 22.04php8.18.1.2-1ubuntu2.28USN-8948-1
ubuntu 20.04php7.4 Ubuntu Pro (ESM)7.4.3-4ubuntu2.29+esm5USN-8948-2
ubuntu 18.04php7.2 Ubuntu Pro (ESM)7.2.24-0ubuntu0.18.04.17+esm14USN-8948-2
ubuntu 16.04php7.0 Ubuntu Pro Legacy7.0.33-0ubuntu0.16.04.16+esm22USN-8948-2
ubuntu 14.04php5 Ubuntu Pro Legacy5.5.9+dfsg-1ubuntu4.29+esm18USN-8948-2
debian 13php8.48.4.27-1~deb13u1DSA-6574-1
debian 12php8.28.2.35-1~deb12u1DLA-4848-1
RHEL 10php8.3.36-1.el10_2RHSA-2026:87070
RHEL 10php8.48.4.27-1.el10_2RHSA-2026:87071
RHEL 9php8.0.30-8.el9_8.1RHSA-2026:87151
RHEL 9php php:8.2 module8.2.35-1.module+el9.8.0+25111+a1450321RHSA-2026:87072
RHEL 9php php:8.3 module8.3.36-1.module+el9.8.0+25109+6886e21aRHSA-2026:87079
RHEL 8php php:7.4 module7.4.33-8.module+el8.10.0+25117+30337ccaRHSA-2026:87080
RHEL 8php php:8.2 module8.2.35-1.module+el8.10.0+25110+f67151d2RHSA-2026:87073
If you cannot update todaypartial
  1. Update to 8.5.12, 8.4.27, 8.3.36 or 8.2.35 (or your vendor's patched package). This is the only complete fix.
  2. Restart every PHP worker after updating (php-fpm, Apache, LiteSpeed). Updated files on disk do nothing for workers that are still running the old code.
  3. If you cannot update yet: set session.upload_progress.enabled=0 in php.ini or the FPM pool (not via ini_set or .user.ini) and restart workers.
  4. On PHP 8.5 that cannot be updated, set fatal_error_backtraces=0 and restart workers.
  5. Reduce exposure: enforce memory_limit=-1 administratively (php_admin_value), keep post_max_size low (8M without uploads, 32M with), and cap request size, part count and header count at the web server or proxy. These narrow known paths but do not make an installation safe.
  6. Do not use RLIMIT_AS / RLIMIT_DATA as a memory boundary; they can cause the vulnerable allocation failure. Use cgroup/container limits instead.

From the official PHP advisory. These reduce exposure to known paths; they do not make an installation safe.