Five Finders, One Fix, and a Honeypot Hit on the 17th

On Wednesday 21 October, at 14:00 UTC, PHP released four security versions fixing two flaws that let an unauthenticated request run code on a server. The Rundown’s newsletter the next morning was headed “AI finds a security hole in 70% of the web.” Fortune’s headline the day before said AI tools discovered the vulnerability “that could take down 70% of the internet.” Both sentences have a defensible source behind them, and both mislead in the same two places. The PHP Foundation’s own account, published the same afternoon as the release, says a human found the first signs in 2024, and the 70% is the share of websites that run PHP at all, not the share anyone has shown to be exploitable. What the Foundation’s post adds, and what I spent the evening laying end to end with the vendors’ posts, is a disclosure timeline with five parties who found the bugs, two of them after being told the bugs existed, a release 71 days after the report that made the problem urgent, and one exploitation attempt, logged in Amazon’s honeypots on 17 October, three days before the first leak the Foundation names and one day after a tip-off that Chainguard’s chief executive has described in print.

Who found it, by whose calendar

The Foundation’s version starts two years back. In 2024 PHP had its first external audit in years, funded by Germany’s Sovereign Tech Agency, organised by OSTIF and carried out by Quarkslab. The published audit report, version 1.4 dated 14 March 2025 with an initial version from 6 September 2024 and with details of unfixed issues removed in a February 2025 revision, does not describe it. The Foundation says that “while fixing one of the issues Quarkslab reported, a PHP core developer contracted by the PHP Foundation found the first signs” of the problem behind CVE-2026-109618, that “a potential exploit for the OOM problem was theorized, but no concrete vectors were found,” and that other issues “overshadowed these concerns.” Greg Brockman posted the same account from the outside, in a post Fortune quotes: “A limited version of it had been discovered in 2024 and wasn’t considered significant at the time.”

Then the 2026 dates, which do not line up across sources, and I think the misalignment is the interesting part rather than an error to be corrected.

The two GitHub advisories, GHSA-w8hw-w9fx-j79w and GHSA-6wmf-4rv5-p3rp, settle credit the way advisories do: four handles marked “Reporter,” one with a Wiz suffix and one with an OpenAI suffix, in a different order on each advisory, followed by four remediation developers. The Foundation does not name the contractor who found the first signs in 2024, so the credit lists cannot tell you whether that person is among the remediation developers. What they can tell you is that credit goes to reporters, and a 2024 suspicion with no concrete vector was never a report. The Foundation’s prose thanks Calif, Wiz, “OpenAI Codex Security,” OSTIF and Quarkslab. The newsletter credits one model. Each document is accurate about the thing it is designed to record.

Discovery, report and acknowledgement dates for the PHP flaw, by party, as each party states them Five rows on a time axis from 30 July to 21 October 2026, with a broken-axis stub for 2024 on the left. Row one, a PHP core developer contracted by the Foundation: first signs found in 2024, then a dashed line to 11 August, when fixing became the top priority. Row two, Calif under the Patch the Planet audit: found 1 August according to Fortune, reported 11 August according to the Foundation. Row three, Wiz: found 19 August, reported 24 August, acknowledged by PHP on 21 September, all by Wiz's own timeline. Row four, OpenAI Codex Security: the root cause was reported earlier with no date given, further attack vectors on 18 September. Row five, Chainguard: told on Friday 16 October that something was coming in PHP, found the same flaws that night, and began working with the maintainers on 17 October, per The Register. A vertical line marks the release on 21 October, and a bracket underneath spans the 71 days from the 11 August report to the release. FIVE FINDERS · EACH PARTY'S OWN DATES · PHP FOUNDATION, WIZ, FORTUNE, THE REGISTER, 21 TO 22 OCT 2026 PHP core developer Calif Wiz OpenAI Chainguard contracted by the Foundation Patch the Planet audit from 30 Jul Atlas, Argon, GPT-5.6 Sol Codex Security tipped off, then found it with a model 2024 1 Aug 1 Sep 1 Oct 21 Oct 21 Oct release 2024, first signs found while fixing an audit finding — PHP Foundation, 21 Oct 2026 11 Aug 2026, fixing becomes top priority — PHP Foundation, 21 Oct 2026 11 Aug · top priority 1 Aug 2026, found — Fortune and the Rundown, 21 and 22 Oct 2026 11 Aug 2026, reported — PHP Foundation, 21 Oct 2026 1 Aug · found (press) 11 Aug · reported 19 Aug 2026, found — Wiz, 21 Oct 2026 24 Aug 2026, reported to PHP — Wiz and PHP Foundation, 21 Oct 2026 21 Sep 2026, PHP acknowledges the reports — Wiz, 21 Oct 2026 19 Aug · found 24 Aug · reported 21 Sep · acknowledged (28 days) root cause reported earlier, date not given 18 Sep 2026, further attack vectors reported — PHP Foundation, 21 Oct 2026 18 Sep · further vectors 16 Oct 2026, told something was coming and found the same flaws that night; with the maintainers from 17 Oct — The Register, 22 Oct 2026 16 Oct · found after a tip; 17 Oct · with the maintainers 71 days from the 11 Aug report to the release Press dates are Fortune's and the Rundown's; the 2024 stub is not to scale. Four reporter handles are credited on the advisories.
Every party dates its own step. The Foundation gives report dates, the press gives find dates, Wiz gives the only acknowledgement date, OpenAI's first report has no date at all, and Chainguard found the bugs in a night once told they existed. The 71 days on the right went on a fix that models helped validate and a decision the Foundation says no tool could make.

The fix was the slow part

The gap that matters in this timeline runs from 2024 to 11 August 2026, and then from 11 August to 21 October. The models sit at one end of it. The Foundation is unusually direct about the first gap. The security team “developed several competing approaches, but each came with its own trade-offs,” it “struggled to choose between these and feared the repercussions of shipping the wrong choice,” and the work “stall[ed] and restart[ed] repeatedly over months.” Its own verdict: “the delay was a structural failure, caused by both the security team’s decision process and its lack of resources.” The announced remedies are organisational, not technical: decisions “by majority,” leadership brought in sooner, and a promise that complex fixes “get resolved faster.”

The second gap is 71 days from the report that made the problem urgent to the release. That is the number to set against the “AI found it” framing. The models shortened the time from suspicion to demonstrated impact, which had been running at about two years. Whether they shortened the ten weeks of choosing a fix, backporting it to four branches and getting distributors packaged is less clear. Wiz’s post, quoting Google DeepMind’s head of Gemini security, credits Argon with “validation of the patch,” OpenAI says its process includes adversarial testing of fixes with frontier models, and the Foundation says the decision itself was not one a tool could make, in its closing section: tools “find bugs faster than ever, for defenders and attackers alike,” but “what tools cannot do is decide on the right fix for a long-standing design decision in the engine, weigh the compatibility trade-offs, and review the patch.”

There is a volume number behind that sentence. Alexandre Daubois, who joined the Foundation in July to handle reports, wrote on 14 October that the team had published 15 CVEs since 1 July and closed 106 reports that “did not constitute vulnerabilities, were duplicating something already in the queue, or didn’t reproduce.” That is 121 reports handled in fifteen weeks, one in eight of them a real flaw, by “a small group of volunteers and PHP Foundation contractors.” No published study I could find measures how AI-assisted discovery programmes change the report volume a maintainer receives or the time to fix; the Foundation’s two figures are the closest thing to a measurement that exists for this project.

Twenty-three hours

The coordinated part of the disclosure, in the Foundation’s words, “worked well until 2 days ahead of the targeted release date.” The release was set for Thursday 22 October at 14:00 UTC. Then, on Tuesday 20 October at about 15:00 UTC, the two CVE identifiers appeared on forums and social media with a wrong release time and a wrong CVSS score of 10.0, against the real 9.2. No technical detail leaked at that point. The Foundation published its pre-announcement early, at 19:30 UTC, and moved the release forward a day. One clause in the pre-announcement matters later: “We reserve the right to release earlier should details of either vulnerability become public, or should evidence of active exploitation appear in the wild.”

From there the Foundation’s chronology, Daubois’s personal account from inside the security team, and the vendors’ posts give a 23-hour strip that I have drawn below. Around 20:00 UTC, Calif “mistakenly published a video” of its proof of concept, deleted it, and copies circulated. Around 23:00 UTC, mitigation advice went to “a few critical infrastructure providers” and, the Foundation says, “may have leaked as well.” At about 02:00 UTC on the 21st, Amazon’s MadPot honeypots saw the earliest proof-of-concept attempts, with more between 02:00 and 08:00 from “additional anonymized infrastructure.” At 03:02 UTC Cloudflare turned on default protection for all its WAF customers, which it describes as “about 9 hours ahead of public disclosure”; by my clock it is just under eleven. At 07:41 UTC Chainguard published container images containing the fix. At 13:43 UTC, seventeen minutes before the embargo lifted, Wiz’s write-up was on Hacker News, where it collected 446 points and 184 comments. At 14:00 the release went out.

The 23 hours from the first leak to the release, 20 to 21 October 2026, UTC A horizontal time axis from 14:00 UTC on 20 October to 14:00 UTC on 21 October with nine numbered marks. One, 15:00, the two CVE identifiers circulate with a wrong score of 10.0. Two, 19:30, PHP publishes its pre-announcement early and moves the release from 22 to 21 October. Three, about 20:00, Calif mistakenly publishes a proof-of-concept video, later deleted. Four, about 23:00, mitigation advice goes to a few critical infrastructure providers. Five, about 02:00, Amazon's MadPot honeypots see the earliest proof-of-concept attempts, with more until 08:00, shown as a shaded band. Six, 03:02, Cloudflare enables default WAF protection. Seven, 07:41, Chainguard publishes container images containing the fix. Eight, 13:43, Wiz's write-up appears on Hacker News. Nine, 14:00, the release. All times are UTC as stated by the PHP Foundation, Daubois, AWS, Cloudflare and Hacker News. LEAK TO RELEASE · 20 OCT 14:00 TO 21 OCT 14:00 UTC · FOUNDATION, DAUBOIS, AWS, CLOUDFLARE, HN PoC attempts at MadPot, 02:00 to 08:00 (AWS) 20 Oct 14:00 20:00 21 Oct 00:00 06:00 12:00 15:00 UTC, 20 Oct: CVE IDs circulate with a wrong 10.0 score — PHP Foundation, 21 Oct 2026 19:30 UTC: pre-announcement published early; release moved to 21 Oct — PHP Foundation ~20:00 UTC: Calif mistakenly publishes a PoC video — PHP Foundation ~23:00 UTC: mitigation advice to a few critical infrastructure providers — PHP Foundation ~02:00 UTC, 21 Oct: earliest PoC attempts at MadPot — AWS, 21 Oct 2026 03:02 UTC: Cloudflare WAF protection on by default — Cloudflare, 21 Oct 2026 07:41 UTC: Chainguard publishes images containing the fix — PHP Foundation 13:43 UTC: Wiz write-up posted to Hacker News — HN item 50180836 14:00 UTC, 21 Oct: release of PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 — php.net 1 2 3 4 5 6 7 8 9 · 14:00 release 1 15:00 CVE IDs circulate, score given as 10.0 2 19:30 pre-announcement; release moved to 21 Oct 3 ~20:00 Calif posts a PoC video, then deletes it 4 ~23:00 mitigation advice to a few providers 5 ~02:00 first PoC attempts at MadPot 6 03:02 Cloudflare WAF protection on by default 7 07:41 Chainguard images with the fix 8 13:43 Wiz write-up on Hacker News 9 14:00 release All times UTC as each source states them; ~ marks the Foundation's approximate times. Cloudflare counts its lead as "about 9 hours".
Twenty-three hours from the first leaked identifier to the release. Before Chainguard's images the Foundation names three leaks, one of them only possible: the identifiers, Calif's video, and mitigation advice that "may have leaked."

The Chainguard entry is the contested one. The Foundation’s post says Chainguard “unilaterally broke the embargo,” that “any attacker could now study the fix in binary form while every other PHP user was still waiting for the release,” and that this “disregarded weeks of work by many parties.” Dan Lorenc, Chainguard’s chief executive, told The Register that “people were getting hit in advance” of the disclosure, “so we made the call to ship the fixes,” that the company’s rule is “coordinated vulnerability disclosure, unless there’s evidence of active exploits in the wild,” and, asked whether he would do anything differently, no. He told The Record he had begun seeing exploitation attempts the night before and that “these situations are always tough and require judgment calls.”

I do not think the two positions are as far apart as the tone suggests. Both invoke the same trigger, evidence of exploitation in the wild, and the Foundation wrote that trigger into its own pre-announcement. The disagreement is about who gets to pull it. The Foundation’s post also names only Chainguard, and not Cloudflare, whose rules went live more than four and a half hours earlier. That is not an oversight. Cloudflare’s post says it worked with the Foundation, OpenAI and Wiz, and OpenAI’s account lists it among the partners preparing protections ahead of disclosure, so it was inside the circle rather than acting on its own; the same account says the coalition engaged the White House’s Super Intelligence Force, the Office of the National Cyber Director and CISA before the release. The distinction the Foundation draws is that a shipped binary lets an attacker diff the fix, while a firewall rule does not reveal it. Whether a binary diff of a memory-management fix really hands an attacker what six hours of waiting would have withheld is a question for people who build exploits, and the Foundation’s own observation cuts against the worst case: its team “did not identify any functional exploits at the time of release.” One critic’s post from the same day says the public proofs of concept did not work against a standard install.

The 17th

Everything above is a story about a leak on 20 October. Amazon’s post is about something earlier. Its author, CJ Moses, the CISO of Amazon Integrated Security, writes that MadPot telemetry contains “a PHP2Shell exploitation attempt dating to Oct. 17, 2026,” four days before disclosure, from “an IP address associated with a commercial anonymization network,” and that “it remains unclear how the actor acquired exploit information prior to disclosure.” An Amazon spokesperson told The Hacker News the activity was largely a one-off probe. The post does not say when Amazon found the entry in its logs; the phrasing “dating to” reads to me as a retrospective match made after the signature was known, which is how honeypot findings usually arrive.

Three days before the identifiers leaked and the video went up, four before the images, the embargo was the only thing between the flaw and the public, and the Foundation dates every breach of it to the 20th or later. One earlier event is on record, in Chainguard’s own account: the Friday tip-off and the overnight rediscovery described above, one day before the honeypot entry. Nothing in either post connects the two, and I am not suggesting a connection. What Lorenc’s account establishes is narrower and, I think, more important: by the night of the 16th, the set of people who could find these bugs was not the embargo list but anyone who had been told something was coming and had a model to point at the code. The possibilities for the 17th are the usual ones, a party inside the embargo, an independent finder who never reported, or a false match on something that only looks like this flaw in hindsight, and Amazon does not pick between them. OpenAI’s account says that “to our knowledge, frontier AI found these vulnerabilities before attackers did, opening a Defender’s Window.” The MadPot entry is the one datum that sits against that sentence, and the phrase “to our knowledge” is doing its job. What the published record says about one-sensor observations is this. In a 2025 conference paper on four exploitation feeds over 2019 to 2023, Khoury and colleagues report that 86.6% of the CVEs flagged as exploited were flagged by exactly one of the four feeds, and only two CVEs by all four; I have those figures from the paper’s summary and could not check them against the full text. If they hold, sensors that disagree are the normal case rather than a red flag, and “exploited in the wild” is a property of the sensor as much as of the world, which this week illustrated: SecurityWeek reported early on the 21st that watchTowr and Huntress had seen no exploitation; watchTowr’s FAQ later recorded exploitation through its own honeypots on the 21st; Chainguard’s honeypots, per The Register, caught probes on the Wednesday; and as of 22 October neither CVE was in CISA’s Known Exploited Vulnerabilities catalogue.

Which sensors reported exploitation of the PHP flaw, and on what date, 17 to 22 October 2026 Six rows against a day axis from 17 to 22 October, with a dashed line at the leak on 20 October 15:00 UTC and a solid line at the release on 21 October 14:00 UTC. Amazon MadPot: one attempt dated 17 October, then more attempts between 02:00 and 08:00 on 21 October. Cloudflare: attack traffic observed, no time given. watchTowr: not seen as of SecurityWeek's report early on 21 October, then seen on 21 October per its own FAQ. Huntress: not seen, per SecurityWeek. Chainguard honeypots: attempts "last night" per The Record on 21 October, and probes on Wednesday 21 October, per The Register. CISA Known Exploited Vulnerabilities: not listed as of 22 October. Filled marks mean the sensor reported exploitation; open marks mean it reported none or no listing. WHO SAW EXPLOITATION, AND WHEN · SIX SENSORS · EACH SOURCE'S OWN DATES 17 Oct 18 19 20 21 22 leak 15:00 release 14:00 Amazon MadPot Cloudflare WAF watchTowr Huntress Chainguard CISA KEV honeypot network firewall telemetry Attacker Eye honeypots as reported by SecurityWeek honeypots, per press exploited catalogue 17 Oct 2026: one exploitation attempt from a commercial anonymization network — AWS, 21 Oct 2026 one attempt, 17 Oct 21 Oct 2026, 02:00 to 08:00 UTC: additional PoC attempts from anonymized infrastructure — AWS 02:00 to 08:00, more "attack traffic targeting our customers" no time given; post dated 21 Oct 21 Oct 2026, about 07:00 UTC: watchTowr and Huntress had not seen exploitation — SecurityWeek not seen, early 21 Oct 21 Oct 2026: exploitation observed through the Attacker Eye honeypot network — watchTowr FAQ, updated 22 Oct seen, 21 Oct (FAQ) 21 Oct 2026: Huntress had not seen exploitation — SecurityWeek, 21 Oct 2026 not seen Night of 20 to 21 Oct 2026: exploitation attempts seen, per Dan Lorenc — The Record, 21 Oct 2026 "last night" (The Record) Wednesday 21 Oct 2026: honeypots caught probes — The Register, 22 Oct 2026 probes, 21 Oct As of 22 Oct 2026: neither CVE listed in CISA's Known Exploited Vulnerabilities catalogue — watchTowr FAQ not listed as of 22 Oct Filled: exploitation reported. Open: none reported, or not listed. Stated times set the position; date-only reports sit at midday.
Six sensors, three kinds of answer, and one entry four days early. Only Amazon's honeypots report anything before the leak, and Amazon itself calls it largely a one-off probe. Sensors that disagree with each other are, on the 2025 numbers above, the usual state of affairs.

For scale, the only large baseline I know of is old. Shahzad, Shafiq and Liu’s 2012 study of some 46,000 vulnerabilities found 2.8% exploited before public disclosure, with 88.2% first exploited on the disclosure day itself. A 17 October attempt would put this flaw in the 2.8%. Whether that rate has moved since 2012 is not something anyone has measured with public data, and there is a structural reason. Muegge and Murshed pointed out in 2018 that the CVE record had no field for when a flaw was discovered or reported, so report-to-patch intervals could not be computed from the public databases; the current record format has an optional timeline field, and nothing obliges anyone to fill it. The discovery dates in this essay exist because the Foundation, Wiz, Daubois and two reporters chose to publish them. The advisories carry one date, 21 October, and four handles.

Seventy percent of what

W3Techs, the source every outlet is leaning on, put PHP at 69.3% of websites whose server-side language it can identify on 22 October. That is a share of the web that runs PHP. The share that was exploitable without authentication depends on the server configuration, which the Foundation’s post describes at the level of “on Apache with mod_php” for the default-settings case and “through application-level code paths” for PHP-FPM, and I found no published split. The nearest figure is an initial Palo Alto Networks count of 22.6 million potentially vulnerable instances, reported by Fortune, which counts installations rather than configurations. Wiz’s post says “70% of all websites in the world.” Cloudflare says “almost 70%,” citing W3Techs. The Foundation itself says “a large share of the web.” I would print the Foundation’s phrase. The newsletter’s “security hole in 70% of the web” is true in the sense that the hole was in software 69.3% of the web runs, and false in the sense most readers will take it, which is that seven in ten sites could be taken over.

The last time two groups found one bug

The closest well-documented precedent for a flaw found twice and disclosed under pressure is Heartbleed, and its paper trail has the same feature as this week’s. Durumeric and colleagues’ IMC 2014 paper gives the timeline: Neel Mehta at Google found the bug on 21 March 2014, Google patched its own servers and told OpenSSL on 1 April, Codenomicon found it independently on 2 April and told Finland’s NCSC-FI, and “after receiving notification that two groups independently discovered the vulnerability, the OpenSSL core team decided to release a patched version,” on 7 April. Codenomicon’s own heartbleed.com dates its discovery to 3 April. Even the canonical case has two dates for the second discovery, and in that case too the second finder is what moved the release. Cloudflare was privately notified on 31 March, a week before the public; Red Hat, Debian and FreeBSD got less than 24 hours. The argument about who should be inside the embargo, and for how long, is twelve years old and was not settled then either.

What is new in 2026 is that all three firms were running frontier models against the same codebase in the same few weeks, so three finds in five weeks is roughly what one would expect, and the Foundation says it also had the codebase scanned with Anthropic’s Claude Mythos through Alpha-Omega earlier in the year, and now validates incoming reports with OpenAI’s Daybreak Red, from the Daybreak line whose Sophos case-study arithmetic I went through last week. Independent discovery used to be a coincidence that told you a bug was ripe. When five parties point models at one 31-year-old interpreter, and one of them finds the bugs in a night on the strength of a tip from one of the finders, it is closer to a certainty, and the thing that bounds the embargo is no longer how long the finders will wait but how long before someone with no agreement to wait finds it too. Lorenc’s Friday night is a measurement of that interval, and it came out at one night. The Foundation’s 71 days were spent on a fix, which is defensible. The two years before that were spent deciding whether to spend them, which the Foundation itself no longer defends. The honeypot entry from the 17th is the one line in this record that nobody has explained, and I would rather have it sitting there unexplained than have it tidied into one of the leaks it predates.

References

  1. The PHP Foundation (2026). Today’s PHP Security Release, and How We’re Strengthening PHP Security. 21 October 2026.
  2. PHP project (2026). Upcoming Critical PHP Security Release and the PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 release announcements. php.net news archive, 20 and 21 October 2026.
  3. php/php-src (2026). GHSA-w8hw-w9fx-j79w, CVE-2026-109618. GitHub security advisory, 21 October 2026.
  4. php/php-src (2026). GHSA-6wmf-4rv5-p3rp, CVE-2026-109619. GitHub security advisory, 21 October 2026.
  5. Wiz Research (2026). PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet. 21 October 2026. Hacker News discussion at item 50180836, posted 21 October 2026, 13:43 UTC; points and comments as of the evening of 22 October.
  6. Moses, C. J., Amazon Web Services (2026). Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot. AWS Security Blog, 21 October 2026.
  7. Cloudflare (2026). Cloudflare deploys protections against php2shell vulnerability. 21 October 2026, updated 22 October 2026.
  8. Daubois, A. (2026). What the PHP2Shell rumors got wrong, from inside the PHP security team. Personal blog, 21 October 2026.
  9. Daubois, A., The PHP Foundation (2026). How the PHP Security Team Handles Your Reports. 14 October 2026.
  10. Lyons, J. (2026). PHP blames supply chain security biz Chainguard for putting huge chunks of the web at risk. The Register, 22 October 2026.
  11. Greig, J. (2026). PHP says AI review of critical bugs first sparked alarm in August, but signs surfaced in 2024. The Record, 21 October 2026.
  12. Lakshmanan, R. (2026). Someone Tried to Exploit PHP2Shell 4 Days Before the Vulnerabilities Were Publicly Disclosed. The Hacker News, 22 October 2026.
  13. Arghire, I. (2026). PHP2Shell: Mass Exploitation Looms for Leaked Critical PHP Flaws. SecurityWeek, 21 October 2026, updated 22 October 2026.
  14. watchTowr (2026). PHP2Shell FAQ: CVE-2026-109618 & CVE-2026-109619 Fixes. 20 October 2026, updated 22 October 2026.
  15. Forlini, E. (2026). AI tools discovered the PHP vulnerability that could take down 70% of the internet. Now, the race is on to patch it before AI-powered hackers attack. Fortune, 21 October 2026.
  16. The Rundown AI (2026). AI finds a security hole in 70% of the web. Newsletter, 22 October 2026.
  17. W3Techs (2026). Usage statistics and market share of PHP for websites. Figure dated 22 October 2026.
  18. Quarkslab (2025). PHP-SRC audit, technical report 24-07-1730-REP, version 1.4. In collaboration with OSTIF; initial version 6 September 2024, version 1.4 dated 14 March 2025.
  19. Taylor, E. (2026). There isn’t an easy exploit for this PHP vulnerability. Personal blog, 21 October 2026.
  20. Khoury, R., Khanmohammadi, K., Vallé, J. and Hamou-Lhadj, A. (2025). Mining Five Years of Actively Exploited Vulnerabilities. 2025 IEEE 49th Annual Computers, Software, and Applications Conference (COMPSAC), July 2025.
  21. Shahzad, M., Shafiq, M. Z. and Liu, A. X. (2012). A large scale exploratory analysis of software vulnerability life cycles. 34th International Conference on Software Engineering (ICSE), June 2012. Historical baseline.
  22. Muegge, S. M. and Murshed, S. M. M. (2018). Time to Discover and Fix Software Vulnerabilities in Open Source Software Projects: Notes on Measurement and Data Availability. PICMET 2018, August 2018.
  23. Durumeric, Z., Kasten, J., Adrian, D., Halderman, J. A., Bailey, M., Li, F., Weaver, N., Amann, J., Beekman, J., Payer, M. and Paxson, V. (2014). The Matter of Heartbleed. Proceedings of the 2014 Internet Measurement Conference (IMC), November 2014. Historical context.
  24. Codenomicon (2014). The Heartbleed Bug. April 2014. Historical context.
  25. OpenAI (2026). Patch the Planet: global response coordination as agents uncover critical vulnerabilities. 21 October 2026.