Skip to main content
Antivirus & security

PHP vulnerabilities

Check PHP installations for CVE-2026-109618 and CVE-2026-109619 and interpret version findings, backports, and coverage gaps.

The PHP vulnerabilities check assesses discovered PHP installations on Windows, Linux, and macOS (x64 and Arm64) for CVE-2026-109618 and CVE-2026-109619 based on their versions. It runs on the device, every 60 minutes by default. It does not attempt exploitation and is not a general PHP vulnerability scanner.

Prerequisites

  • The octoja agent is installed and connected on the device.
  • The agent can read the PHP files and relevant directories to be checked.

Steps

  1. Go to Devices and open the device.
  2. In the Checks tab, click Add Check → PHP vulnerabilities.
  3. For installations outside the usual directories, add Additional paths.
  4. Click Add Check.
  5. After the first run, open the result. Review both the discovered installations and Coverage gaps.

For many devices, assign the check through a config package.

Settings

FieldTypeRequiredDefaultDescription
Additional pathsList of pathsNoEmptyAbsolute paths to PHP files or directories, such as C:\php\php.exe or /opt/php. Additional directories receive a bounded scan only. Relative or missing paths produce a coverage gap.

The check discovers PHP through running processes, common installation directories, PATH, and web server configurations. On Linux it also uses package inventory (dpkg-query or rpm); on Windows it also uses IIS configurations and Windows services. This includes PHP CLI, CGI/FPM, and Apache PHP modules where discoverable through these sources.

Warning: Discovery covers the host only. Containers and arbitrary inactive PHP copies are not covered. Additional paths do not enable exhaustive disk discovery. An OK result does not prove that every PHP copy on the device is safe.

Results

The detail view shows each installation's Path, Version, Package (if associated), result, and reason. The overall result is the worst severity across installations and coverage gaps.

The check uses these minimum versions from the PHP security advisory dated October 21, 2026:

PHP branchFixed from
8.28.2.35
8.38.3.36
8.48.4.27
8.58.5.12
FindingResult
Stable version meets the minimum version for its branchOK for this installation
Version below the minimum, or an older PHP version (5.x through 8.1), without an associated Linux vendor packageCritical
Older version with an associated Linux vendor packageWarning – review vendor backports; this does not confirm a vulnerability
Unknown or unassessable version, or a prereleaseWarning – manual review required
No installation discoveredWarning – this does not prove PHP is absent
Inaccessible path, missing configured path, unavailable package/process inventory, or scan limit reachedAt least Warning; a critical version finding remains Critical
A running process or loaded module refers to a deleted fileAt least Warning – review whether the affected workers need restarting

For coverage gaps, check the listed paths, access permissions, and availability of package or process queries. For installations that were not found, add narrowly targeted paths rather than large directory trees.

FAQ

Distributions may backport security fixes without increasing the displayed PHP upstream version. The check does not verify these backports automatically. Compare the displayed package and version with your distribution or package vendor's security advisories for both CVEs. A warning alone does not confirm that the installation is vulnerable.

Restart the affected PHP-FPM/CGI workers or web servers according to your vendor's instructions, then run the check again. The check does not verify that all workers have loaded the fixed version. Also remove obsolete installations or update them as well.

A discovered file does not always provide an assessable version. On Linux and macOS, the check only executes PHP to read its version if the file and all parent directories are owned by root and are not group- or world-writable. For modules, it uses the associated Linux package version if available. Review unknown versions manually; do not loosen file permissions for this purpose.

See also: Set up alerts for a check