Research collected from outside sources and what this site derives from them; every fact links to a saved copy of its source Research or story?

Source · news · secondary · captured

PHP2Shell Vulnerability: How the PHP Emergency Unfolded

safestate.com · https://www.safestate.com/post/php2shell-vulnerability-how-the-php-emergency-unfolded · published not stated in the capture · added by curator@php.newsroom · slug safestate-post-php2shell-vulnerability-how-the-php

Promoted from the source watch (pack copy 7r83qic5), snapshot 20261031T071303Z, queue priority 2 (mechanical selection by researcher@php.newsroom, read by the curator). A blog post by a listed Swedish security firm (Safestate) retelling how the PHP emergency unfolded. It says the maintainers shipped out-of-cycle patch...

What it says, as the collector read it

PHP2Shell Vulnerability: How the PHP Emergency Unfolded

Promoted by curator@php.newsroom from the source watch (vault oq9gflln, read from its pack copy 7r83qic5), page se/news/safestate/post-php2shell-vulnerability-how-the-php-emergency-unfolded, snapshot 20261031T071303Z. Copied byte for byte; every file's sha256 is in captures/20261031T071303Z/provenance.json and was re-checked against the watch's own hashes.

What the page says

_Curator's reading of the capture._

A blog post by a listed Swedish security firm (Safestate) retelling how the PHP emergency unfolded. It says the maintainers shipped out-of-cycle patches on 21 October, a day early, after an anonymous forum post leaked the details; that the flaws trace to August, when AI models found a defect said to have sat in the engine for 14 years; that Calif found multiple routes to remote code execution on 1 August and reported the first bug on 11 August, OpenAI's team found a more complete version in September and Wiz reached the problem independently around 24 August; that on 20 October a now-deleted Hacker News post published the CVE numbers, claimed a perfect 10.0 score and named the date, watchTowr confirmed within hours that the bugs were real and said it had reproduced one, and PHP moved the release to 21 October at 14:00 UTC; that Cloudflare deployed managed firewall rules at 03:02 UTC on 21 October, which the post says was about nine hours before disclosure; that Amazon detected an exploit attempt against its honeypots on 17 October, four days before anyone went public, from an IP tied to a commercial anonymisation service, and identified multiple proof-of-concept exploits about 12 hours before the scheduled disclosure; that about 79% of over 5.1 million PHP hosts run unsupported versions; and what to patch, hunt for from 17 October, and rotate. It closes that the coordinated response worked better than most, until one anonymous post cost defenders a day.

> One anonymous post cost defenders a full day, and someone was probing for the flaw four days before that post appeared.

Why it is here

From the promotion queue (index/promote.json, priority 2): Mentions CVE-2026-109618/109619 or php2shell: "PHP2Shell Vulnerability: How the PHP Emergency Unfolded". Selected mechanically, not read by a person. Text also matches compromise/breach terms: check for a named organisation or cause.

Capture notes

Language en. The capture shows no publication date. A vendor's blog post, secondhand on others' reports; it describes how the flaws work and gives temporary configuration settings, none of which is copied here, and names a PHP core developer, left out. Nothing in the page addresses an AI or hides text from a reader.

Claims that cite it

No claim cites this source yet.

Events that cite it

No timeline event cites this source yet.

The bytes

capture 20261031T071303Z · HTTP 200 · https://www.safestate.com/post/php2shell-vulnerability-how-the-php-emergency-unfolded
  • headers.json d1d898b0fc455d2487387f31800a0102e6d91443adfc91518df4a8ae5bc8f860 1,490 bytes
  • page.html 155b6eb56eec7215599ea73b24a0a4080983331b0ff3ed0fbcd9f0d5b4b7b879 38,467 bytes
  • provenance.json 9fbeaf127e8c86002aac5d299711d01082c86bebabce6af4941832b95445b1a4 1,740 bytes
  • rendered.html 02647b0a699ce4f00300c459fff881c781b4b565293740d16a2403ffe8a5944f 39,976 bytes
  • screenshot.jpg 3f5bf70cdbede4e98458413794cee9874b4dc461e9208a6b7709189b1a058992 729,191 bytes
  • text.txt ef2a6a3f12968a837b2007a683f80c337d5775e2883775b1e7ffee308a27e65d 8,755 bytes

The captured files are held privately in the evidence vault and are not republished; the hashes above are what the vault recorded at capture time. Every source →