AI agent guide
Is my product or site affected? Check with an AI agent
Many sites do not run “PHP” directly: it arrives inside XAMPP, a hosting panel, a NAS, a Docker image or a vendor appliance. These read-only prompts make an AI agent find every PHP runtime, compare it with the fixed releases and produce a verdict table, without changing anything.
Last updated
What the prompts make the agent do
- Inventory system PHP, bundled stacks (XAMPP, MAMP, Laragon), hosting panels, containers, NAS and appliances.
- Record version, install source and exposure for each.
- Map vendor-managed items to the affected-products pages.
- Output a verdict table: Fixed / Vulnerable / Unknown / Vendor-managed.
Use an agent safely
- Read every command before you approve it. Keep the agent in a mode that asks before running shell commands.
- Try staging or a copy first, and take a backup or VM/container snapshot before changes on production.
- Do not give an agent unattended sudo or root on production servers. Approve privileged commands one at a time.
- Never paste passwords, API keys, tokens or .env contents into a prompt. The agent does not need them to check PHP versions.
- Do not ask agents for exploit code or “test payloads”. Verification means checking versions, changelogs and logs.
- An agent can be wrong. Confirm the final version on the live PHP-FPM or mod_php runtime yourself.
Copy-paste prompts
Prompts are in English so every agent follows them reliably; the last line asks the agent to report in your language. Facts come from this site’s pages.
Audit this machine for PHP2Shell exposure. This is a READ-ONLY audit.
Context: PHP2Shell is CVE-2026-109618 and CVE-2026-109619, two critical unauthenticated remote-code-execution bugs in the PHP runtime (advisory published 21 October 2026). Fixed upstream releases: PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 (or later on the same branch). PHP 8.1 and earlier get no upstream fix. Linux distributions may ship backported fixes under an older version string, so check the distro's security tracker / package changelog for CVE-2026-109618 and CVE-2026-109619, not only "php -v".
Rules for you (the agent):
- Read-only: do not install, upgrade, delete, restart or change any file or service. Do not use sudo unless I approve a specific read-only command.
- Do not write, download or run exploit code, and do not probe other hosts.
- Do not print secrets you see; redact them.
- Show each command before you run it.
Find every PHP runtime, including bundled ones:
1. System PHP: php -v, php-fpm*, mod_php, every binary named php* on PATH and under /usr, /opt, /usr/local.
2. Bundled stacks: XAMPP (/opt/lampp, C:\xampp), MAMP (/Applications/MAMP), WampServer, Laragon, Local, Herd, Valet.
3. Hosting panels: cPanel ea-php, Plesk plesk-php, aaPanel/宝塔 /www/server/php, DirectAdmin, CyberPanel lsphp, HestiaCP.
4. Containers: docker ps / docker images / kubectl, and php -v inside each running container.
5. Apps that run on PHP (WordPress, Magento, Drupal, Joomla, Moodle, Nextcloud, phpMyAdmin, GLPI ...) and which PHP each one uses.
6. If this is a NAS or vendor appliance (Synology, QNAP, Unraid, pfSense, OPNsense, FreePBX ...), report the product and firmware version only; such PHP is updated by the vendor firmware.
For each item record: product/location, PHP version, how it is installed (distro package / vendor bundle / container / custom build), whether it is internet-facing, and whether the version is >= the fixed release on its branch or has a distro backport.
Output a verdict table with columns: Item | PHP version | Source | Exposed? | Verdict (Fixed / Vulnerable / Unknown / Vendor-managed) | Next step. Then list the matching product pages from https://phpvulnerabilities.app/affected-products/ for anything vendor-managed.
Write your report in English.I run [PRODUCT NAME AND VERSION]. Tell me whether it is affected by PHP2Shell. This is research and a READ-ONLY check.
Context: PHP2Shell is CVE-2026-109618 and CVE-2026-109619, two critical unauthenticated remote-code-execution bugs in the PHP runtime (advisory published 21 October 2026). Fixed upstream releases: PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 (or later on the same branch). PHP 8.1 and earlier get no upstream fix. Linux distributions may ship backported fixes under an older version string, so check the distro's security tracker / package changelog for CVE-2026-109618 and CVE-2026-109619, not only "php -v".
Rules: do not write or run exploit code; do not change anything; never ask for or print credentials.
Steps:
1. Find out whether this product bundles its own PHP or uses the system PHP, and which PHP version the version I named ships with.
2. Look for the vendor's official advisory, changelog or knowledge-base article about CVE-2026-109618 / CVE-2026-109619, and the matching page under https://phpvulnerabilities.app/affected-products/. Cite each source with its URL and date; if you find none, say so instead of guessing.
3. If I can give you shell access, list the read-only commands that would confirm the runtime version, and wait for me to run them or approve them.
Output a verdict table: Product | Version | Bundled PHP | Vendor status | Verdict (Fixed / Vulnerable / Unknown) | Fix path (vendor update, upgrade host PHP, or mitigate) | Sources.
Write your report in English.Audit this repository (and any inventory files it contains) for PHP2Shell exposure. READ-ONLY: do not edit files, open pull requests or connect to servers unless I approve.
Context: PHP2Shell is CVE-2026-109618 and CVE-2026-109619, two critical unauthenticated remote-code-execution bugs in the PHP runtime (advisory published 21 October 2026). Fixed upstream releases: PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 (or later on the same branch). PHP 8.1 and earlier get no upstream fix. Linux distributions may ship backported fixes under an older version string, so check the distro's security tracker / package changelog for CVE-2026-109618 and CVE-2026-109619, not only "php -v".
Rules: no exploit code, no scanning of hosts, redact secrets.
1. Search Dockerfiles, compose files, Helm charts, Terraform/Ansible/Puppet/Chef code, CI workflows, .tool-versions, composer.json "config.platform.php" and "require.php" for PHP versions and base images.
2. List every place a PHP version or image is pinned, and resolve tags like php:8.3-fpm to the patch level they currently point to if you can.
3. Mark each as Fixed / Vulnerable / Unknown against 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 (or a distro backport), and flag PHP 8.1 or older.
Output a verdict table: File | Line | Image or package | PHP version | Verdict | Suggested change. Do not apply the changes; list them for my review.
Write your report in English.Common AI coding agents
Not ranked. This site is not affiliated with any of them.
| OpenAI Codex CLI | Run codex in the project or on the server, paste the prompt; keep it in an approval mode that asks before running commands. |
|---|---|
| Claude Code | Run claude in a terminal, paste the prompt; it asks for permission before running commands unless you change that. |
| Cursor (Agent) | Open the repo or a Remote-SSH session, paste into the Agent chat and review each terminal command before it runs. |
| Cursor Cloud Agents | Suited to the Docker/repository prompts: the agent works on a branch and you review the diff; it cannot reach your servers. |
| Grok Build (xAI CLI) | xAI's terminal coding agent; start it in the project or on the server and paste the prompt. Without shell access, paste into the Grok chat at grok.com and run the suggested read-only commands yourself. |
| GitHub Copilot coding agent | Assign an issue containing the Docker/repository prompt to Copilot; it opens a pull request for review. |
| Gemini CLI | Run gemini in a terminal and paste the prompt; confirm each shell command it proposes. |
| Windsurf (Cascade) | Paste into Cascade in the editor; the windsurf.com address currently redirects to Devin Desktop. |
| Cline | VS Code extension; paste into the Cline panel and approve each command and file edit. |
| Aider | Best for the Docker/repository prompts: run aider in the repo, paste the prompt and review the commits it makes. |
FAQ
How do I know if my site is affected by PHP2Shell?
Find the PHP version that serves the site (not only php -v) and compare it with 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 or your distro’s backported package. The inventory prompt makes an agent do this for every runtime.
Does the audit change anything?
No. The prompts tell the agent to stay read-only and to ask before any command that needs sudo.
My PHP is inside a NAS, panel or appliance. What then?
That PHP is updated by the vendor. Check the product’s page in the affected-products list and install the vendor update.