TCPLab TCPLab

PHP Version Check

Find the PHP version a site exposes and compare it with the official fixes for CVE-2026-109618 and CVE-2026-109619. Every verdict comes with its raw evidence — and unknown is a valid answer.

Most sites hide the version (expose_php=Off or a CDN in front), so unknown is a common and legitimate result. The deep probe helps when only the header is missing.

Fixed versions for CVE-2026-109618 and CVE-2026-109619

Two unauthenticated remote code execution flaws, rated CVSS v4.0 9.2 and patched on 2026-10-21. Any release below the fixed version of its branch is affected upstream.

BranchAffectedFixed inStatus
8.58.5.0 – 8.5.118.5.12Supported
8.48.4.0 – 8.4.268.4.27Supported
8.38.3.0 – 8.3.358.3.36Supported
8.28.2.0 – 8.2.348.2.35EOL 2026-12-31
≤ 8.15.4.0 – 8.1.x—No upstream fix

Source: php.net

If you cannot upgrade right now

These measures reduce exposure to specific attack paths but do not make an installation safe. php.net is explicit: updating is the only complete solution.

  • Set memory_limit=-1, preferably through php_admin_value in the FPM pool or Apache config so applications cannot override it.
  • Keep post_max_size low (8M without uploads, 32M with uploads) and upload_max_filesize below it. Enforce request size limits at the proxy as well.
  • Set session.upload_progress.enabled=0 in php.ini or the pool config, then restart every worker. ini_set() and .user.ini are applied too late to help.
  • On PHP 8.5 also set fatal_error_backtraces=0 and restart all workers.
  • Use a container or cgroup memory limit as an availability boundary. Do not use RLIMIT_AS or RLIMIT_DATA.

Frequently asked questions