Skip to main content

pvl_php2shell_vulnerability_audit

Summary​

This table stores the PHP installations found by the PHP2Shell Vulnerability - Audit script and whether each one is affected by PHP2Shell. Each PHP installation on a computer is stored as one row. A computer without any PHP installation is stored as a single row with the status NotDetected, and its PHP-related columns are empty.

Dependencies​

Tables​

pvl_php2shell_vulnerability_audit​

ColumnTypeExplanation
ComputerIdINTThe Automate Computer ID of the agent.
PathVARCHARThe folder of the PHP installation.
NameVARCHARThe product that owns the installation: 'PHP' for a standalone installation, the stack name (e.g., 'XAMPP'), the bundling application, or 'Unknown application'.
PublisherVARCHARThe publisher of the owning product, when known.
IsNativeVARCHAR'True' for a standalone PHP installation, 'False' when PHP belongs to a stack or another vendor's product.
InstallTypeVARCHAR'Standalone', 'Stack', or 'Vendor'.
ManagedByVARCHAR'Winget' for a winget installation for all users, 'Winget (user scope)' for a winget installation in a user profile, otherwise 'None'.
PackageIdVARCHARThe winget package ID of a winget installation (e.g., 'PHP.PHP.NTS.8.3').
ExecutablePathVARCHARThe PHP file the version was read from (php.exe, php-cgi.exe, or the PHP engine DLL).
VersionVARCHARThe installed PHP version. After a successful update, the new version.
ArchitectureVARCHAR'x64', 'x86', 'arm64', or 'Unknown'.
ThreadSafetyVARCHAR'TS' (thread safe), 'NTS' (non-thread safe), or 'Unknown'.
InIisVARCHAR'True' when IIS uses the installation, otherwise 'False'.
RunningVARCHAR'True' when PHP from the installation was running during the audit, otherwise 'False'.
StatusVARCHAR'Patched', 'Vulnerable', 'EndOfLife', 'Unknown', or 'NotDetected' when the computer has no PHP installation.
RequiredVersionVARCHARThe first patched release for the installation's version line (e.g., '8.3.36').
ActionTEXTWhat the script did with the installation: 'None', updated, skipped with the reason, or failed with the reason.
ScriptRunTimeDATETIMEThe timestamp of when the script executed and populated this record.

Changelog​

2026-10-23​

  • Initial version of the document.