PHP2Shell status

Is PHP2Shell fixed on Docker Official Images: php?

Status as of : Partly confirmed

By Oakshield · Last verified · Re-verified every 7 days while CVE-2026-115560 is unfixed · How we verify · 2 sources · All sources

Status as of October 26, 2026: Partly confirmed: some builds are confirmed in two primary sources, others aren’t yet.

The short answer

Docker Official Images: php ships fixed PHP packages for PHP2Shell (CVE-2026-109618 and CVE-2026-109619). Confirmed in two primary sources: Maintained tags: 8.5.12, 8.4.27, 8.3.36, 8.2.35 (cli, apache, fpm and zts variants) (docker-library official-images and versions files). A fixed package only counts once it’s installed and PHP has restarted (source: AlmaLinux). A related flaw, CVE-2026-115560, has no fix in any PHP release as of October 23, 2026 (source: php.net advisory on CVE-2026-115560, October 23, 2026).

Fix status on Docker php images

What Fixed build or status Advisory Confirmed? Sources
Maintained tags 8.5.12, 8.4.27, 8.3.36, 8.2.35 (cli, apache, fpm and zts variants) docker-library official-images and versions files Yes: two primary sources Docker Official Images: library/php, Docker Official Images: versions.json
  • PHP 8.1 and older: no official image is maintained, so there’s no fixed image for those branches.

How to check on Docker php images (read-only)

Run these where your containers run. They only read container and image metadata, and run read-only PHP one-liners inside the container.

# 1. Running containers, their images, and how long they've been up
docker ps --format '{{.ID}}  {{.Image}}  {{.RunningFor}}'

# 2. The PHP version inside a container: 8.2.35, 8.3.36, 8.4.27 or 8.5.12 or later on its branch
docker exec <container> php -r 'echo PHP_VERSION, PHP_EOL;'

# 3. When was the image built? The running container must come from an image built after the fix
docker image inspect <image> --format '{{.Created}}'

# 4. CVE-2026-115560: the value PHP sees inside the container ("0" means off)
# This reads the command-line PHP; a PHP-FPM pool's php_admin_value can differ, so check the pool files too
docker exec <container> php -r 'var_dump(ini_get("session.upload_progress.enabled"));'

Check the PHP that serves your website, not just the command line: they can be different builds (source: AlmaLinux). The five checks that count as proof.

CVE-2026-115560

On October 23, 2026, PHP disclosed a related flaw, CVE-2026-115560, that the October 21 releases don’t fix. Until its next regular bugfix release, PHP recommends turning off session upload progress (session.upload_progress.enabled=0) in the server configuration and restarting PHP. Setting it from application code (ini_set()) or a per-directory .user.ini file doesn’t count (source: php.net advisory on CVE-2026-115560, October 23, 2026).

On Docker php images: The image files don’t mention CVE-2026-115560. PHP’s recommended setting must go into the image’s configuration (for example an ini file in the image’s conf.d directory), followed by a rebuild and redeploy.

Notes for Docker php images

Sources (checked October 26, 2026)

Upstream facts (fixed releases, CVE-2026-115560, end-of-life dates) are footnoted to /sources. We list a build as confirmed only when two different primary documents state it. Method.

Debian 13 (trixie) · Debian 12 (bookworm) · All platforms · How to prove your server is patched · What to ask your host or developer

Want it checked for you?

  • Patch Verification & Compromise Review. Collection is read-only, and we change nothing on your server. You get a plain-English report: where each fix stands, as of a stated time, plus a compromise review from October 17, signed by the Approver of Record. Ask for it
  • Check it yourself, free. The read-only steps are on our PHP2Shell page. Our open-source self-check script is publishing soon.

Every platform · How to prove your server is patched

Sources

Every figure and quotation on this page links to its primary source. All of them, with the date we last checked each: full wording and methods.