Skip to content

OpenAI

OpenAI ships a Codex skill that checks sites for php2shell

2 min read

Written by an AI model from the linked sources and checked against them by a second model. How we work

All about: OpenAI models and products →
Image: blockchain.news

On October 21, OpenAI released php2shell-checker, an open-source tool that checks whether a site or server runs a PHP build exposed to php2shell. That is the pair of PHP flaws found under its Patch the Planet initiative. The tool comes as two Codex skills in an OpenAI repository on GitHub, and asking Codex $skill-installer install both skills from https://github.com/openai/php2shell-checker installs both.

The flaws are CVE-2026-109618, remote code execution through out-of-memory corruption during request cleanup, and CVE-2026-109619, where request-owned global state goes stale and a later request on the same worker reuses it. The fixed releases are PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35.

Use phpcheck-url when all you have is an address ($phpcheck-url check https://example.com) and phpcheck-server when you can get onto the machine. You can also skip Codex and run the script with Node: node phpcheck.js "https://example.com" for a site, node phpcheck.js --local for the PHP binary on the command line.

For a URL, the checker sends a HEAD request and falls back to GET only if HEAD returns 405 or 501. It reads the version from the X-Powered-By and Server headers. It does not follow redirects or look at response bodies. Locally it parses php -v. Results map to exit codes, so the tool fits into a script: OK is 0, VULNERABLE is 1, UNKNOWN is 3, and invalid arguments return 2. --json gives machine-readable output with a patch_status field. UNKNOWN covers a missing version or response, a version or branch the tool doesn’t recognize, and newer prerelease builds. OpenAI warns that UNKNOWN does not mean the target is patched.

An OK is only a version comparison: the patch number sits above the cutoff embedded for that branch, on the assumption that later stable patches carry the fix. The tool does not check the fix itself, and headers can be hidden or changed. Backports are the other gap. PHP 8.1 and older are out of support, and PHP has published minimal source backports for 7.4, 8.0 and 8.1. Distributions and LTS vendors may ship patched packages too. Those backports may leave the upstream version number unchanged, so a server that has been fixed can still report the version of an unpatched one.

PHP has also published stopgaps, among them disabling session.upload_progress and restarting workers, and says they are not complete fixes. Whatever result the checker returns, OpenAI’s instruction is the same: compare the version against the official PHP security release.

OpenAI

GPT-Rosalind cut months of gene analysis to 32 minutes

In 32 minutes, thousands of GPT-Rosalind agents worked through data from millions of mouse brain cells, a job the team put at months to a year by hand. Have you ever split a big analysis across many parallel agents instead of one?

No comments yet. Be the first.

Join the conversation

Sign in to leave a comment. It appears after moderation.