Black October 2026: the month the CVE count broke

Data as of 28 October 2026 · Every figure links to its source at the end of the article.

October 2026 set records on every axis that matters to a patch team: the most CVEs ever published in a month, the largest Microsoft Patch Tuesday in history, a certificate authority forced out of the web PKI, and two "2Shell" remote-code-execution bugs in software that runs most of the internet. This report counts what was reported, what was fixed, and what was exploited, and gives a source for every number.

Reported
14,514
CVEs published 1–27 Oct; month projected at ~16,200, a record (Sep: 14,934)[1]
Fixed (six vendors)
3,814
Microsoft 1,413 · Oracle 1,209 · Chrome 662 · Apple 329 · Adobe 176 · Android 25[4–9]
Exploited
30
added to CISA's Known Exploited Vulnerabilities catalog, 1–27 Oct (24 are 2026 CVEs)[3]

The fixed count is a simple sum of each vendor's own October total and may double-count shared components (e.g. Chromium, Brotli). The exploited count is CISA KEV additions, which is a floor, not a census, of exploitation.

What is a CVE?

A CVE (Common Vulnerabilities and Exposures) is a public ID number for one specific, known security flaw, for example CVE-2026-109618. It lets vendors, security tools and defenders all refer to the same bug. IDs are issued by hundreds of approved organisations, including Microsoft, Google and the Linux kernel team, and collected in one public list[77]. A CVE count measures flaws disclosed, not attacks.

Who pays for it: the program was started in 1999. It is run by the non-profit MITRE Corporation and funded by the US government through CISA, the Department of Homeland Security's cyber agency. The funding nearly lapsed in April 2025 and was saved by a last-minute extension[78]. In early 2026 it was moved to a protected line in CISA's budget[79].

Two other terms used in this report: CVSS is a 0–10 severity score attached to a CVE (9.0 and above is "critical"). KEV is CISA's Known Exploited Vulnerabilities catalog, the subset of CVEs confirmed to be under active attack.

1. The numbers

CVEs published per month, Oct 2025 – Oct 2026

PublishedOct 2026, 1–27 OctOct 2026 projection (16,208)
05k10k15k20k4,274Oct 25Nov 25Dec 25Jan 26Feb 26Mar 26Apr 26May 26Jun 26Jul 26Aug 2614,934Sep 26~16,20814,514Oct 26

Source: cve.0xosprey.com raw data (CVEProject/cvelistV5 published records, by publish date), generated 2026-10-28 07:02 UTC[1]. September cross-checked against NVD API (14,933 excluding rejected)[2]. October 2026 to date is 3.4× October 2025; 2026 year-to-date (87,315) is already 1.8× all of 2025 (48,151).

Table view
MonthCVEs published
Oct 254,274
Nov 253,020
Dec 255,493
Jan 264,302
Feb 264,616
Mar 266,236
Apr 265,813
May 266,933
Jun 267,949
Jul 269,759
Aug 2612,259
Sep 2614,934
Oct 2614,514
Oct 26 (projected)~16,208

How long it used to take to publish October's 14,500 CVEs

Months from 1 January needed to reach about 14,500 published CVEs in each year. October 2026 got there in 27 days.

201712 months201811 months201911 months202010 months20219 months20228 months20237 months20245 months20254 months2026 (from Jan)3 monthsOctober 202627 days
  • 1999–2016: no single year reached that number. The busiest, 2014, published 7,928. All of 2015 and 2016 combined came to 12,951, still fewer than October 2026's first 27 days.
  • 2017 was the first year to get there, and it took all twelve months (14,642 for the year).
  • Since then the time has shrunk almost every year, from a year to under a month in less than a decade.

Computed from the cve.0xosprey.com monthly series (cvelistV5 published records, by publish date; rejected records excluded)[1]. Threshold: 14,514, the October 2026 count for 1–27 Oct. Historical totals reflect today's CVE list, so they can differ slightly from figures reported at the time.

Table view
YearTime to ~14,500 CVEsNote
201712 monthsFull year: 14,642
201811 monthsFull year: 16,510
201911 monthsFull year: 17,308
202010 monthsFull year: 18,363
20219 monthsFull year: 20,177
20228 monthsFull year: 24,999
20237 monthsFull year: 28,847
20245 monthsFull year: 39,924
20254 monthsFull year: 48,151
2026 (from Jan)3 monthsJan–Mar 2026: 15,154
October 202627 days14,514 in 1–27 Oct
1999–2016never in one yearLargest year: 2014, 7,928

Vulnerabilities fixed in October 2026, by vendor

Microsoft1,413Oracle1,209Google Chrome662Apple329Adobe176Android25

Microsoft: 1,413 per SecurityWeek[4] (outlets report 1,403–1,416 depending on scope; MSRC's own feed lists 1,416 entries first published 13 Oct[5]). Oracle: 1,209 unique CVEs (1,295 patches)[6]. Chrome: sum of security fixes in four stable releases (247 + 10 + 353 + 52)[7]. Apple: unique CVE IDs across ten 26 Oct advisories[8]. Adobe: 176 CVEs in 11 bulletins on 13 Oct, counted from Adobe's own bulletins (175 after one ColdFusion CVE was withdrawn on 21 Oct; four more bulletins followed on 27 Oct and are not included)[88][9]. Android: October bulletin[10]. SAP shipped 16 new notes (4 critical) and is not charted because notes are not CVEs[11]. Cisco has no verifiable monthly total.

Table view
VendorFixedBasis
Microsoft1,413CVEs, 13 Oct Patch Tuesday (SecurityWeek)
Oracle1,209Unique CVEs in Oct CPU (1,295 patches)
Google Chrome662Security fixes, 4 stable releases
Apple329Unique CVEs, 10 advisories (26 Oct)
Adobe176CVEs, 11 bulletins (13 Oct)
Android25CVEs, Oct bulletin

CVEs added to CISA's Known Exploited catalog, by month (2026)

01530456017Jan28Feb26Mar31Apr21May23Jun26Jul31Aug43Sep30Oct*

Computed from the CISA KEV JSON feed, catalog version 2026.10.27 (1,760 entries), filtered on dateAdded[3]. October is to 27 Oct. 2026 has 276 additions so far vs 245 in all of 2025. September's 43 is the year's peak; October is on pace to match it. None of October's 30 additions is flagged as known ransomware use, and most carry a 3-day remediation deadline.

Table view
MonthKEV additions
Jan17
Feb28
Mar26
Apr31
May21
Jun23
Jul26
Aug31
Sep43
Oct*30

Notable vulnerability incidents over the last 12 months, tracked by pwn.watch

pwn.watch is a live tracker of significant "patch now" vulnerability incidents, the kind that send teams scrambling. It logged 231 in the last 12 months, and 60 in October 2026 alone: double September and four to seven times a typical month earlier in the year. Each square below is one day; darker means more, and more severe, incidents.

MonWedFri28 Oct 2025: 1 incident, 1 critical, 1 tagged exploited30 Oct 2025: 2 incidents, 1 critical, 2 tagged exploitedNov4 Nov 2025: 2 incidents, 1 critical, 2 tagged exploited10 Nov 2025: 1 incident, 1 tagged exploited12 Nov 2025: 3 incidents, 2 critical, 3 tagged exploited14 Nov 2025: 1 incident, 1 critical, 1 tagged exploited18 Nov 2025: 1 incident, 1 tagged exploited19 Nov 2025: 1 incident, 1 tagged exploited21 Nov 2025: 1 incident, 1 critical, 1 tagged exploited28 Nov 2025: 1 incident, 1 tagged exploited2 Dec 2025: 1 incident, 1 tagged exploited3 Dec 2025: 2 incidents, 1 critical, 2 tagged exploitedDec8 Dec 2025: 2 incidents, 1 critical, 2 tagged exploited9 Dec 2025: 2 incidents, 2 tagged exploited11 Dec 2025: 1 incident, 1 tagged exploited12 Dec 2025: 2 incidents, 2 tagged exploited15 Dec 2025: 2 incidents, 2 tagged exploited16 Dec 2025: 1 incident, 1 critical, 1 tagged exploited17 Dec 2025: 2 incidents, 1 critical, 2 tagged exploited19 Dec 2025: 2 incidents, 1 critical, 2 tagged exploited22 Dec 2025: 1 incident, 1 tagged exploitedJan13 Jan 2026: 1 incident, 1 tagged exploited21 Jan 2026: 1 incident, 1 tagged exploited22 Jan 2026: 1 incident, 1 tagged exploited26 Jan 2026: 2 incidents, 2 tagged exploited27 Jan 2026: 1 incident, 1 tagged exploited29 Jan 2026: 2 incidents, 1 critical, 2 tagged exploitedFeb1 Feb 2026: 1 incident, 1 critical, 1 tagged exploited3 Feb 2026: 2 incidents, 2 tagged exploited5 Feb 2026: 2 incidents, 2 tagged exploited10 Feb 2026: 2 incidents, 2 tagged exploited12 Feb 2026: 2 incidents, 2 tagged exploited13 Feb 2026: 2 incidents, 2 tagged exploited20 Feb 2026: 1 incident, 1 tagged exploited25 Feb 2026: 1 incident, 1 tagged exploitedMar1 Mar 2026: 1 incident, 1 tagged exploited3 Mar 2026: 1 incident, 1 tagged exploited9 Mar 2026: 2 incidents, 2 tagged exploited18 Mar 2026: 2 incidents, 2 tagged exploited19 Mar 2026: 1 incident, 1 tagged exploited20 Mar 2026: 1 incident, 1 tagged exploited25 Mar 2026: 1 incident, 1 tagged exploited27 Mar 2026: 1 incident, 1 tagged exploited30 Mar 2026: 1 incident, 1 tagged exploited1 Apr 2026: 2 incidents, 1 critical, 1 tagged exploitedApr8 Apr 2026: 1 incident13 Apr 2026: 3 incidents, 3 tagged exploited14 Apr 2026: 1 incident, 1 tagged exploited16 Apr 2026: 1 incident, 1 tagged exploited20 Apr 2026: 3 incidents, 3 tagged exploited22 Apr 2026: 1 incident, 1 tagged exploited28 Apr 2026: 1 incident, 1 tagged exploited30 Apr 2026: 1 incident, 1 tagged exploited1 May 2026: 1 incident, 1 tagged exploitedMay6 May 2026: 2 incidents, 1 tagged exploited7 May 2026: 1 incident, 1 tagged exploited8 May 2026: 1 incident, 1 tagged exploited14 May 2026: 1 incident, 1 tagged exploited15 May 2026: 1 incident, 1 tagged exploited20 May 2026: 1 incident, 1 tagged exploited21 May 2026: 1 incident, 1 tagged exploited22 May 2026: 1 incident, 1 tagged exploited27 May 2026: 1 incident, 1 tagged exploited29 May 2026: 1 incident, 1 tagged exploited1 Jun 2026: 1 incident, 1 tagged exploited2 Jun 2026: 1 incident, 1 tagged exploited5 Jun 2026: 1 incident, 1 tagged exploitedJun8 Jun 2026: 2 incidents, 2 tagged exploited9 Jun 2026: 2 incidents, 2 tagged exploited11 Jun 2026: 1 incident, 1 tagged exploited12 Jun 2026: 1 incident, 1 tagged exploited15 Jun 2026: 1 incident, 1 tagged exploited16 Jun 2026: 1 incident, 1 tagged exploited25 Jun 2026: 2 incidents, 2 tagged exploited1 Jul 2026: 1 incident, 1 tagged exploitedJul7 Jul 2026: 3 incidents, 3 tagged exploited14 Jul 2026: 3 incidents, 3 tagged exploited15 Jul 2026: 1 incident, 1 tagged exploited16 Jul 2026: 2 incidents, 2 tagged exploited21 Jul 2026: 2 incidents, 2 tagged exploited22 Jul 2026: 2 incidents, 2 tagged exploited27 Jul 2026: 2 incidents, 2 tagged exploited29 Jul 2026: 1 incident, 1 tagged exploitedAug3 Aug 2026: 1 incident, 1 tagged exploited4 Aug 2026: 2 incidents, 2 tagged exploited5 Aug 2026: 1 incident, 1 tagged exploited7 Aug 2026: 1 incident, 1 tagged exploited11 Aug 2026: 3 incidents, 3 tagged exploited17 Aug 2026: 1 incident, 1 tagged exploited18 Aug 2026: 4 incidents, 4 tagged exploited19 Aug 2026: 1 incident, 1 tagged exploited20 Aug 2026: 1 incident, 1 tagged exploited21 Aug 2026: 1 incident, 1 tagged exploited24 Aug 2026: 1 incident, 1 tagged exploited25 Aug 2026: 1 incident, 1 tagged exploited27 Aug 2026: 2 incidents, 2 tagged exploited29 Aug 2026: 1 incident, 1 critical, 1 tagged exploited2 Sep 2026: 5 incidents, 5 tagged exploited4 Sep 2026: 1 incident, 1 tagged exploitedSep8 Sep 2026: 3 incidents, 3 tagged exploited9 Sep 2026: 4 incidents, 4 tagged exploited10 Sep 2026: 2 incidents, 1 critical, 2 tagged exploited11 Sep 2026: 3 incidents, 3 tagged exploited14 Sep 2026: 1 incident, 1 tagged exploited16 Sep 2026: 3 incidents, 2 tagged exploited18 Sep 2026: 1 incident, 1 tagged exploited24 Sep 2026: 1 incident, 1 tagged exploited25 Sep 2026: 2 incidents, 2 tagged exploited27 Sep 2026: 1 incident, 1 critical, 1 tagged exploited29 Sep 2026: 1 incident, 1 tagged exploited30 Sep 2026: 2 incidents, 1 critical, 2 tagged exploited1 Oct 2026: 1 incident, 1 tagged exploited2 Oct 2026: 1 incident, 1 tagged exploitedOct4 Oct 2026: 1 incident, 1 tagged exploited6 Oct 2026: 1 incident, 1 critical, 1 tagged exploited7 Oct 2026: 1 incident, 1 critical, 1 tagged exploited8 Oct 2026: 1 incident, 1 critical12 Oct 2026: 1 incident, 1 critical13 Oct 2026: 4 incidents, 3 critical, 1 tagged exploited14 Oct 2026: 5 incidents, 1 critical, 3 tagged exploited15 Oct 2026: 3 incidents, 2 critical, 1 tagged exploited16 Oct 2026: 2 incidents, 1 critical, 2 tagged exploited17 Oct 2026: 1 incident, 1 critical, 1 tagged exploited19 Oct 2026: 2 incidents, 2 critical20 Oct 2026: 7 incidents, 3 critical, 2 tagged exploited21 Oct 2026: 8 incidents, 5 critical, 2 tagged exploited22 Oct 2026: 5 incidents, 4 critical, 1 tagged exploited23 Oct 2026: 6 incidents, 4 critical24 Oct 2026: 2 incidents, 1 critical25 Oct 2026: 2 incidents, 1 critical26 Oct 2026: 1 incident, 1 tagged exploited27 Oct 2026: 5 incidents, 3 critical
Severity-weighted: critical 4 · high 3 · medium 2 · low 1 · update ½Less More
  • It sped up during the month: 5 incidents started in the first week of October, 11 in the second, 23 in the third and 21 in the fourth (to 28 Oct).
  • They got more serious, too: 35 of October's incidents were rated critical, against 3 in September.
  • Confirmed exploitation hasn't caught up (yet): 186 of the 231 incidents are tagged as exploited (on CISA's list, a zero-day, or "exploited"), including 29 of September's 30. Only 19 of October's 60 carry those tags so far. October's surge is mostly critical flaws that need patching now, not yet confirmed attacks, and tags can lag behind for very recent incidents.
  • Counting data breaches and supply-chain attacks as well, pwn.watch logged 107 incidents that started in October.

Recreated from pwn.watch's public incidents feed (incidents.json, generated 2026-10-28 10:45 UTC), "patch now" category, by incident start date, using pwn.watch's severity weighting; "update ½" adds half a point on the day an incident was last updated[90]. pwn.watch is a curated list of notable incidents, not a complete census; a saved copy of the feed is in sources/.

Table view
MonthIncidents
Nov11
Dec18
Jan8
Feb13
Mar11
Apr14
May12
Jun13
Jul17
Aug21
Sep30
Oct*60
Why the gap matters. About 1 in 480 of October's published CVEs has so far landed in CISA's exploited catalog (30 of 14,514). At this volume, triage by "is it exploited, and do we run it" is the only workable filter. Patch-everything is no longer a plan.

2. The headline incidents

The Wikipedia article that named the month lists five defining events: eMudhra, PHP2Shell, LiteLLM, GitLab and Brotli[12]. Mainstream coverage (The Guardian, Washington Post, CNBC) framed the month around AI-assisted vulnerability discovery[13].

Microsoft Patch Tuesday: a record 1,413 fixes 1 exploited zero-day

13 Oct · CVE-2026-96951 (exploited) · CVE-2026-108398, CVE-2026-92707 (publicly disclosed)
  • 1,413 vulnerabilities fixed: Windows 1,102, Office 134, developer tools 61, SharePoint 36. SecurityWeek reports this single month exceeds Microsoft's entire 2025 total[4].
  • Other outlets count 1,411 (BleepingComputer, 70 critical), 1,416 (PCWorld) and 1,403 (SonicWall, 77 critical), because they scope differently[14].
  • The previous record was September 2026: 974, so October is about 1.45× it[15].
  • Exploited zero-day CVE-2026-96951, a Windows Shell Mark-of-the-Web bypass (CVSS 8.8), was added to KEV the same day with a 16 Oct deadline[3]. Outlook Reading Pane RCE CVE-2026-70242 (CVSS 9.8) was also fixed, with no reported exploitation[16].

PHP2Shell: unauthenticated RCE in PHP Exploited · KEV 26 Oct

CVE-2026-109618 · CVE-2026-109619 · CVSS v4 9.2 · disclosed and patched 21 Oct
  • Anyone on the internet can take over a PHP server without a password. PHP runs 69% of websites. At least 10 governments and the EU advised taking unpatched systems offline, and many did so themselves. Fixed in 8.5.12, 8.4.27, 8.3.36 and 8.2.35[17][18].
  • See the full spotlight in section 3.

eMudhra: CA private keys you could guess Root distrusted

17–22 Oct · no CVE for the CA itself · Go fix tracked as CVE-2026-111943 · Mozilla bug 2083449
  • Eight eMudhra intermediate certificate authorities had private keys small enough to guess. One key was literally 4. Browsers blocked them within hours, the eMudhra root is being removed from browser trust stores, and eMudhra is leaving the public TLS business[21][23].
  • See the close look in section 4.

Brotli "Node2Shell": decoder out-of-bounds write Exploited · KEV 27 Oct

CVE-2026-111497 · CVSS v4 9.2 (Google) · published 22 Oct
  • An invalid block switch was reported as "needs more input" rather than an error, so the streaming decoder kept writing past an 8-byte buffer. Brotli 1.0.3–1.2.0 are affected, along with everything that embeds them: Node.js, Firefox, Thunderbird, curl builds and Python bindings[26][27].
  • Fixed in Brotli 1.0.10 / 1.1.1 / 1.2.1 and Node.js 22.23.4 / 24.22.1 / 26.12.1. Node 20 and older are end-of-life and get no fix[28][26].
  • Red Hat rates it Important (CVSS 8.1) and lists RHEL 7, 8, 9 and 10 as affected[85].
  • Press up to 24 Oct reported no exploitation, but CISA added it to KEV on 27 Oct. No public detail of the attacks has been found[3].

LiteLLM supply-chain compromise Malware published

21 Oct · litellm 1.107.0 (PyPI, Docker Hub, GHCR) · safe version 1.106.2
  • Attackers used stolen GitHub CLI OAuth tokens to publish an info-stealer build. It was live on PyPI 11:39–13:23 UTC and on the container tags until about 14:20 UTC[29][30].
  • This is LiteLLM's second compromise of 2026, after versions 1.82.7 and 1.82.8 in March (TeamPCP). It caps a year of open-source supply-chain attacks, most from TeamPCP's March cascade and the self-spreading "Mini Shai-Hulud" worm of late April–May[41][42].
2026 supply-chain compromises for context (15 incidents)
PackageDate (2026)Malicious versionsCampaign
dydx-v4-client~5 FebPyPI 1.1.5post1; npm versions disputedUnattributed
xygeni-action3–10 Mar@v5 tag poisoned (CVE-2026-31976)Unattributed
trivy-action / setup-trivy19 Mar76 of 77 tags force-pushedTeamPCP
litellm24 Mar1.82.7, 1.82.8TeamPCP
telnyx27 Mar4.87.1, 4.87.2TeamPCP
axios31 Mar1.14.1, 0.30.4 (RAT dropper)Sapphire Sleet (DPRK), per Microsoft
@cap-js (SAP)29 Aprsqlite 2.2.2, postgres 2.2.2, db-service 2.10.1Mini Shai-Hulud
lightning (pytorch-lightning)30 Apr2.6.2, 2.6.3Linked by secondary sources
intercom-client30 Apr7.0.4Mini Shai-Hulud
@tanstack11 May84 artifacts (react-router, history…)Mini Shai-Hulud
mistralai11 MayPyPI 2.4.6; npm mistralai-gcp 1.7.1–1.7.3Mini Shai-Hulud
guardrails-ai11 May0.10.1Mini Shai-Hulud
nx-console (VS Code)18 May18.95.0 (CVE-2026-48027)TeamPCP
pantheon-agents8 Jun0.6.1, 0.6.2Shai-Hulud "Hades" wave
litellm21 Oct1.107.0Unattributed

Per-package sources (StepSecurity, Snyk, Socket, OSV, vendor post-mortems) are in sources/research-incidents.md §4.

GitLab pre-auth RCE, CVSS 10.0 Patched · not yet exploited

CVE-2026-110264 · out-of-band patch 21 Oct (19.5.1 / 19.4.3 / 19.3.6)
  • A critical flaw in self-managed GitLab CE/EE that The Hacker News reports spans "12 years of releases". It was not in KEV as of the 27 Oct feed[31][3].

Other actively exploited October bugs

CVEProductWhatKEV addedPatchSource
CVE-2026-104935Ivanti Connect SecureAuth bypass, chained by UTA0576 since ~1 Oct13 OctPartial one chained flaw still open at last report[32]
CVE-2026-0322Palo Alto PAN-OSMgmt-interface code injection (auth, root), CVSS v4 8.614 OctYes[33]
CVE-2026-76519Cisco Secure Email GatewayRoot via crafted attachment, CVSS 9.814 OctYes[34]
CVE-2026-21589Atlassian Data Center (8 products)Unauth file read, CVSS 9.3; attacked ~2 h after PoC15 OctYes[35]
CVE-2026-102764BeyondTrust Remote SupportAuth bypass, CVSS v4 9.3; exploited since 29 Aug16 OctYes[36]
CVE-2026-110447Collabora CODE / NextcloudOS command injection, CVSS v4 9.2; web shells deployed23 OctYes[37]
CVE-2026-48356Adobe Commerce / MagentoUnrestricted file upload (APSB26-73)27 OctYes[38]

3. Spotlight: PHP2Shell, the scale of a single bug

Most CVEs affect one product. PHP2Shell affected the language that most of the web is written in. Within 48 hours, governments on five continents told organisations to take their websites offline if they couldn't patch, and many governments did exactly that to their own sites.

What happened, in plain terms

PHP is the engine behind most websites. When you load a page on a news site, a shop or a council website, there is a good chance a PHP program on the server builds it. That includes every WordPress site, along with Drupal, Joomla and the cPanel and Plesk hosting panels[57][60].

The bug: when PHP runs out of memory or hits a fatal error partway through handling a visitor's request, it doesn't clean up properly. Leftover scraps of that request stay behind, and the next visitor's request reuses them. A specially crafted request can turn those scraps into control of the server[17].

Why it's so serious: the attacker needs no password, no account and no help from anyone inside. Sending web requests to the site is enough. Once in, the attacker is running code on the server and can reach its files, its database and whatever else it is connected to. The bug has existed since PHP 5.4, roughly 14 years of releases[17][66].

An analogy: imagine a flaw in the lock fitted to 7 out of 10 buildings in the world, which lets a stranger open the front door without a key. Instructions on how to do it leaked on the same day the fix was announced.

The scale, in numbers

Websites on PHP
69%
of websites whose server language is known (W3Techs, 28 Oct)[57]
WordPress alone
39.5%
of all websites, every one of them running PHP[58]
Exposed servers
2–4M+
internet-facing PHP hosts (Shodan via Mallory: ~2.24M; Censys: ~4.18M)[59][60]
No official fix
59%
of version-reporting PHP hosts run versions PHP no longer supports (883,717 hosts)[59]
Attack attempts
Millions
blocked by Cloudflare within a day of disclosure; attempts started ~10 h before it[61]
Governments saying "go offline"
10 + EU
national governments plus EU bodies advised taking, isolating or suspending unpatched systems (table below)

Exposure counts measure servers that advertise PHP, not servers confirmed vulnerable. Palo Alto Unit 42's widely quoted "22.6 million potentially vulnerable instances" counts instances, not unique sites, and its method is undisclosed[56].

Timeline

Date (2026)What happened
19 AugWiz researchers find the first bug. Within two days they can take over default Drupal and WordPress sites[17].
24 AugReported privately to the PHP project[17].
17 OctAmazon honeypots log an exploitation attempt, four days before anything is public[19].
20 OctPHP pre-announces an emergency release, and CERT-EU issues an advance advisory[51].
21 Oct, earlyA leaked copy of the details appears on VirusTotal (02:29 UTC). Cloudflare begins blocking attacks at 03:02 UTC[20][61].
21 OctFixes released (PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35). The US, UK, Canada, France, the Netherlands, Germany, the EU and others publish warnings the same day, and government websites start going offline[18][44][48].
21 Oct, eveningJapan's Prime Minister Sanae Takaichi and the National Cybersecurity Office post on X that temporarily stopping websites is an effective way to reduce the risk[86].
22 OctJapan (IPA), New Zealand, Ghana and South Korea follow. South Korea raises its national cyber alert level[53][68].
23 OctCanada's Cyber Centre flags a third bug, CVE-2026-115560, that the 21 Oct patches do not fix. The workaround is to set session.upload_progress.enabled=0[45].
24 OctResearchers' honeypots record 35 successful takeovers. Some payloads are Mirai-family botnet malware[62][60].
26 OctCISA adds both CVEs to its exploited list. US federal agencies must fix them by 29 Oct, a 3-day deadline[43].
27 OctNo victim organisation has been publicly confirmed yet. Delft University's tracker counts 50,000+ attack requests from 600+ addresses in 70 countries[62]. Fastly reports about 250,000 requests from about 3,200 addresses, roughly a third of them defensive scanning[84].

Governments that said "patch it, or take it offline"

Governments almost never tell the public to switch websites off. For PHP2Shell, at least 10 national governments and the EU said, in some form, that if you can't patch you should take the system offline, disconnect it, isolate it from the internet or suspend the service. There was no single joint "Five Eyes" advisory. Each agency published separately and the US CISA alert links to the others[18]. The EU's statement was co-signed by the Commission, ENISA, CERT-EU, Europol and the national CSIRTs network[52].

CountryAgencyDateWhat they told organisations (quoted)CheckedSrc
🇺🇸 United StatesCISA21 Oct"take PHP-based systems offline until they can be patched or updated"Primary[18]
🇺🇸 United StatesNSA, FBI Cyber Division21 Oct"take the system offline until it can be fully mitigated"Primary[56]
🇬🇧 United KingdomNCSC21 Oct"you should consider taking the system offline until it can be fully mitigated"Primary[44]
🇨🇦 CanadaCanadian Centre for Cyber Security (AL26-026)21 Oct"consider isolating internet-facing applications from public networks until a fix can be applied"Primary[45]
🇦🇺 Australiabusiness.gov.au (links ASD's critical alert)23 Oct"consider taking impacted websites or systems offline until you can"Primary[46]
🇮🇪 IrelandNCSC Ireland21 Octisolate end-of-life PHP systems if the published mitigations can't be appliedPrimary[81]
🇳🇱 NetherlandsNCSC-NL21 Octmake "a risk assessment per system that uses PHP" (primary). Press quotes add: consider taking sites offline preventively. NCSC-NL took its own site offlinePrimary + press[48]
🇩🇪 GermanyBSI (warning level 3 / orange)21 Octtemporarily disconnecting the web server from the internet until the patch is installed; by the third revision, "the BSI recommends" itPrimary[49]
🇫🇷 FranceCERT-FR / ANSSI (CERTFR-2026-ALE-014)21 Oct"isoler les équipements affectés" (isolate affected equipment), then migrate to a supported versionPrimary[50]
🇯🇵 JapanIPA; PM and National Cybersecurity Office21–22 Octdecide whether "blocking external access or temporarily suspending the service" is neededPrimary[53]
🇬🇭 GhanaCyber Security Authority and NITA22 Octunpatched services "should be taken offline temporarily", with a 7-day deadline for government bodiesPress quote[54]
🇪🇺 European UnionCERT-EU; joint statement with the Commission, ENISA, Europol EC3 and the CSIRTs Network20–21 Oct"consider isolating internet-facing resources from public networks until the fix is applied and verified"Primary[51][52][87]
🇰🇷 South KoreaMSIT and KISA22 Octraised the national cyber crisis alert to "Caution", notified ~28,000 companies; no offline wording foundPress[68]
🇸🇬 SingaporeCSA / SingCERT (AL-2026-151)21 Oct"update to the latest versions immediately". Patch only, no offline advicePrimary[55]

"Primary" means the wording was read on the agency's own page. "Press quote" means the agency page was unreachable or has since been revised, and the wording comes from news reports. Advisories from New Zealand's NCSC, India's CERT-In (CIVN-2026-0528) and Japan's JPCERT/CC (JPCERT-AT-2026-0033) urged patching without offline wording. An early press report attributing "disable" wording to New Zealand could not be traced to its alert[82][83].

Who actually went offline

Governments followed their own advice. These are precautionary shutdowns, not breaches.

CountrySites or services taken offlineSrc
🇳🇱 NetherlandsNCSC.nl, Overheid.nl, MijnOverheid, Tweede Kamer (parliament), the tax authority and benefits office[48]
🇫🇷 FranceSeveral Interior Ministry sites (at ANSSI's request), parts of impots.gouv (tax), the CNIL data-protection authority and some universities[64]
🇫🇮 FinlandCentral-government web services being shut down as a precaution by state IT centre Valtori; some stayed available[65]
🇬🇧 United KingdomEdinburgh and Oxford councils and the Metropolitan Police; 32 government digital services reported unavailable[63][60][89]
🇩🇪 Germany / 🇩🇰 DenmarkFederal IT service (ITZBund) sites, district councils; Denmark's Kombit and the national school platform[63]
🇦🇺 Australiacyber.gov.au (the national cyber agency's own site) and the Bureau of Statistics[66]
🇨🇦 CanadaSome federal government websites and apps, plus Montreal's transit authority (STM) and Quebec's liquor board (SAQ)[67]
🇯🇵 JapanServices at Mizuho, MUFG units, Shizuoka Bank, ANA, JAL, JR East and Seven-Eleven Japan[61]
🌐 WikimediaSupporting services such as Phabricator, as a precaution[71]

It's not just websites: products with PHP inside

PHP is built into firewalls, routers, NAS boxes, hosting control panels and business appliances, often where the owner can't see it or patch it themselves. The Dutch NCSC's public list of affected products held 751 entries by 23 Oct. 220 were marked vulnerable (many as a precaution), 109 fixed and 389 still under investigation[69].

  • Palo Alto PAN-OS and Panorama (firewalls) were affected and unfixed as of 22 Oct[19].
  • Fortinet said FortiOS, FortiManager, FortiAnalyzer and FortiWeb are not affected[70].
  • Sophos found a vulnerable PHP version on one of its own customer portals. cPanel and CloudLinux shipped patched PHP builds to hosting providers[60].

Where it stands (27 Oct)

  • Attacks are real and widespread, but no victim has been confirmed. CISA lists the bug as exploited, and honeypots were successfully taken over. Still, no organisation has publicly confirmed a breach, and several early claims were withdrawn[62].
  • The long tail is the problem. About 59% of PHP servers that report a version run releases the PHP project no longer fixes. Those owners depend on hosting providers, Linux distributions or the unofficial backports PHP published[59][19].
  • Patched is not the same as clean. The UK NCSC warns that patching doesn't remove a backdoor that was already planted, and CISA's exploited-list entry requires forensic triage. Check for compromise after updating[44][3].
For a non-technical reader: one programming mistake, in software most people have never heard of, led governments in a dozen countries to switch off their own websites within two days. That is the scale problem in one example. October 2026 published more than 14,500 CVEs. Most will never matter to your organisation, but any one of them can turn out to be PHP2Shell.

4. Close look: eMudhra and the private key that was "4"

PHP2Shell showed how far one bug can reach. eMudhra shows how fragile the web's trust system is when a single step goes wrong. A certificate authority generated keys that should have been impossible to guess, and one of them was the number four.

What happened, in plain terms

Certificate authorities are the web's notaries. The padlock in your browser means a certificate authority (CA) vouched that the site really is who it claims to be. Browsers trust a short list of root CAs, and the roots delegate day-to-day signing to intermediate CAs. Anyone holding an intermediate's private key can issue certificates that every browser accepts, for any website, including your bank.

A private key is supposed to be an unguessable number. For the type of key eMudhra used (P-384), that number is chosen at random from roughly 10115 possibilities. That is far more than the number of atoms in the observable universe.

eMudhra's weren't. Eight of its intermediate CAs had private keys below 256, so anyone could find them by trying at most 255 numbers, which takes a fraction of a second. The key for "EM OV TLS CA - G3C" was published by a researcher: it was 4[21]. The full set of eight keys was 4, 56, 66, 115, 155, 156, 230 and 237[80].

An analogy: a notary's official seal turned out to be a pattern anyone could copy, and it had been sitting in the notary's drawer, unnoticed, for 18 months.

When a joke becomes an incident report. In 2007 the webcomic xkcd published "Random Number": a function that always returns 4, with the comment "chosen by fair dice roll. guaranteed to be random."[74] For nearly two decades it has been the security world's shorthand for fake randomness. In October 2026 a real certificate authority shipped a private key equal to 4, and the comic was being shared again as a straight description of what had happened.

How it happened

  • 30 April 2025, key ceremony: eMudhra generated 24 new intermediate keys in a formal key ceremony. A flaw in a wrap/unwrap test step of the generation script created a second, weak key pair inside the hardware security module[22].
  • The wrong keys were used: the weak keys had labels resembling the real ones, so they were used to request certificates from eMudhra's root and from Sectigo, which cross-signed them. eMudhra calls this "human errors in multiple steps"[22].
  • Nobody caught it: the keys passed two annual audit cycles[22]. Certificate-revocation errors logged from May 2025 were an earlier warning sign that went unheeded[73].
  • 17 October 2026, discovery: a researcher scanning public certificate data spotted the trivially small keys and reported them to the browser makers[21].

How fast the web reacted

When (2026, UTC)WhoWhat
17 Oct 18:05Google ChromeReport received.
17 Oct 19:45Google ChromeKeys blocked for all Chrome users via CRLSet, 1 hour 40 minutes after the report[23].
17 Oct 22:59Mozilla FirefoxRevocation (OneCRL) reaches all users, under 3 hours after Mozilla's report at 20:06[24].
18 OcteMudhraAll eight intermediates revoked as "CA compromise". Mozilla opens public incident bug 2083449[22].
19 OctSectigo, AndroidSectigo revokes its eight related cross-signatures. Android devices receive the block via Play Services[22][23].
20–21 OctMozilla, Node.js, GoFirefox 158.0.1 and ESR releases ship. Node.js updates its bundled CA list, and Go patches (CVE-2026-111943)[24][26][21].
22 OctApple; eMudhraApple adds protections. eMudhra announces it is leaving the global public TLS business and moves customers to Sectigo-issued certificates[21][25].
~27 OctChrome, MozillaRemoval of the emSign ECC Root CA - G3 from their trust stores (Chrome release expected 27 Oct; Mozilla via NSS 3.131.1)[23][24].

The damage, and what was avoided

  • No evidence of misuse: Google found no TLS certificates from these intermediates in public Certificate Transparency logs before the block. eMudhra says none of the eight issued customer certificates, and seven were never used in production[23][22].
  • The cost of distrust: removing the root means about 30,800 unexpired certificates chaining to it stop being trusted. Every site using one has to switch CA. About 97% were issued through automated ACME tooling, which makes the switch easier[23][22].
  • Who is actually at risk: abusing a forged certificate requires an attacker who can sit in the middle of a connection. That is hard on the open internet, but much easier for whoever controls a local network (public Wi-Fi, a campus or corporate network) or for a state-level interceptor. Ars Technica singles out VPN users in such countries as the most immediately exposed[80].
  • The long tail: browsers were fixed within hours, but many systems carry their own copy of the trusted roots: Linux distributions, Docker images, IoT and embedded devices, and Python tools. Go cryptography maintainer Filippo Valsorda called it "a massive cleanup job, bigger than Heartbleed"[80].
  • The business outcome: a single key-generation mistake ended eMudhra's public TLS business. The browser trust programmes treat key compromise as unrecoverable, and they acted in hours, not weeks[25][75][87].

Lessons for any organisation

  • Know your certificates: keep an inventory of which CAs issue your certificates. A CA can disappear in a week.
  • Be able to switch CA quickly: automated issuance (ACME) turned a potential crisis into a configuration change for most affected sites.
  • Trust stores live in more places than browsers: Go, Node.js, Java, Python and many appliances ship their own CA lists, and those need updates too.
  • Audits are not verification: two clean audits missed keys that a researcher found with a public scan. Verify the critical controls (key generation, randomness, HSM handling) directly.
Deep dive: for a detailed narrative of the discovery and the browser makers' response, read Dan Goodin's "The Internet goes on high alert after discovery of 8 compromised TLS certs" in Ars Technica (20 Oct 2026)[80].

5. Every CVE CISA marked exploited in October

All 30 additions to the KEV catalog dated 1–27 October 2026[3]. Six are old bugs (2015–2025) newly confirmed as exploited.

AddedCVEVendorProductDue
10-01CVE-2026-104286FortinetFortiMail10-04
10-02CVE-2026-102489Zammad GmbHZammad10-05
10-02CVE-2026-102490Zammad GmbHZammad10-05
10-04CVE-2026-88779CitrixNetScaler10-07
10-08CVE-2015-3306ProFTPDProFTPD10-11
10-08CVE-2015-5477ISCBIND10-11
10-08CVE-2016-3081ApacheStruts10-11
10-08CVE-2021-3199ONLYOFFICEDocs10-11
10-08CVE-2023-22894StrapiStrapi10-11
10-13CVE-2026-104935IvantiConnect Secure10-16
10-13CVE-2026-96951MicrosoftWindows10-16
10-14CVE-2026-0322Palo Alto NetworksPAN-OS10-17
10-14CVE-2026-105133AhsayAhsayCBS10-17
10-14CVE-2026-105134AhsayAhsayCBS10-17
10-14CVE-2026-76519CiscoSecure Email Gateway10-17
10-15CVE-2026-21589AtlassianMultiple Products10-18
10-16CVE-2025-61624FortinetMultiple Products10-19
10-16CVE-2026-102764BeyondTrustRemote Support10-19
10-20CVE-2026-106931EG Secure SolutionsSiteGuard Server Edition10-23
10-20CVE-2026-110936SiemensSoftware Center11-03
10-20CVE-2026-96652PlexMedia Server11-03
10-20CVE-2026-96654PlexMedia Server10-23
10-20CVE-2026-96655PlexMedia Server11-03
10-20CVE-2026-96656PlexMedia Server10-23
10-23CVE-2026-110447CollaboraOnline – Built-in CODE Server10-26
10-23CVE-2026-114625AristaVeloCloud Orchestrator10-26
10-26CVE-2026-109618PHP GroupPHP10-29
10-26CVE-2026-109619PHP GroupPHP10-29
10-27CVE-2026-111497GoogleBrotli11-10
10-27CVE-2026-48356AdobeCommerce and Magento11-10

6. Satire as a signal: Black October in 90 seconds

Vulnerability data is dry, and the people who most need to hear about it, such as boards, executives and non-technical staff, rarely read advisories. This month a 90-second satirical short by @exploit.engineer (also @_xploitEngineer on X), captioned "me presenting the October 2026 CVE chart to the CISO like it's good news", circulated in security circles. It is a good example of how humour can carry dry, technical material to a much wider audience.[76]

What it packs into a minute and a half

  • The chart: monthly CVE counts climbing steadily for a decade, then going nearly vertical in 2026. It uses the same cve.0xosprey.com dataset as section 1[1].
  • A roll call of the year's big bugs: SharePoint, Chrome, Langflow, PAN-OS, F5 BIG-IP, Drupal, Exchange and more, grouped by bug class (use-after-free, race conditions, buffer overflows). Most of them were published earlier in 2026 rather than in October, so treat it as a year in review.
  • A cartoon explanation of PHP2Shell: a request is half-built, freed, and then picked up by the next visitor on the same worker. It is arguably clearer than many written explainers (see section 3).
  • The eMudhra private key "d = 4", captioned "chosen by fair dice roll, guaranteed to be random". This is a nod to a 2007 xkcd comic that suddenly became literal (see section 4).
  • The year's compromised open-source packages, from axios to TanStack to LiteLLM (see the supply-chain table in section 2).
  • Linux kernel CVE counts, which have roughly doubled in a year, presented as a podium.

Why it matters for security leaders: satire works as a gateway. A funny clip gets a non-specialist to ask "is that real?", and that question is the opening for a sourced conversation about exposure and priorities. Use the humour to start the discussion and the data to finish it.

7. What to do this week

  1. PHP: upgrade to 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 (KEV deadline 29 Oct), and set session.upload_progress.enabled=0 for the unfixed CVE-2026-115560. Anything you can't patch, including appliances such as PAN-OS and Panorama, should be isolated or taken offline, as CISA, the UK NCSC and others advise. Then check for backdoors.
  2. Brotli / Node.js: upgrade Node to 22.23.4 / 24.22.1 / 26.12.1, and bump Brotli to 1.2.1 in Python, curl and container base images. Retire Node ≤ 20.
  3. eMudhra: inventory any certificate chaining to emSign ECC Root CA - G3 and reissue from another CA. Update Go (1.27.3 / 1.26.10) and other bundled trust stores.
  4. LiteLLM: if 1.107.0 ran anywhere, treat the host as compromised and rotate every credential it could reach.
  5. Edge devices: Ivanti Connect Secure, PAN-OS, Cisco Secure Email Gateway, BeyondTrust, Atlassian Data Center, GitLab and Nextcloud/Collabora. Patch, then hunt for compromise, because several were exploited before patches existed.
  6. Microsoft: deploy the 13 Oct cumulative updates, prioritizing CVE-2026-96951 and Outlook CVE-2026-70242.

8. Where this is heading

October was not a one-off. The forces behind it are structural, and every published 2026 forecast has already been overtaken. The more useful finding, though, is that the number of flaws actually being exploited has not grown at the same rate.

Why the numbers are climbing

  • AI is finding bugs faster than people can. Anthropic reported in February that Claude had found and validated more than 500 high-severity vulnerabilities in open-source code. By April its Mythos Preview model was finding thousands across every major operating system and browser[91][92]. OpenAI's Codex Security reported 792 critical and 10,561 high-severity findings across 1.2 million scanned commits[94]. Google's Big Sleep agent found a SQLite bug that was otherwise known only to attackers[95]. DARPA's AI Cyber Challenge showed automated systems finding and patching bugs at about $152 a task[96]. Several of October's headline bugs, including PHP2Shell and Brotli, were reported with AI help.
  • CVE counts understate the bug counts. Mozilla fixed 271 AI-found bugs in a single Firefox release but filed them under just three CVEs[93]. The real volume of fixes is larger than the CVE chart suggests.
  • More organisations now issue their own CVEs. The Linux kernel team became a CVE Numbering Authority in 2024 and now assigns a CVE to almost every fixed kernel bug, which is why it is on course for about 8,000 this year[97][39].
  • Regulation is pushing disclosure. Since 11 September 2026 the EU Cyber Resilience Act requires manufacturers to report actively exploited vulnerabilities within 24 hours[99].
  • The databases can't keep up. NIST reports CVE submissions grew 263% from 2020 to 2025. In April it stopped enriching every CVE, keeping full analysis for exploited and federal-critical software only[98]. Many new CVEs now arrive without an official severity score.

Where it's going

  • The forecasts have already broken. FIRST's February forecast put 2026 at a median of 59,427 CVEs, revised to about 66,000 in June. Jerry Gamblin projected 71,000–72,000 at mid-year[100][101]. The year passed 87,000 by 27 October[1]. If November and December run at the September–October pace, 2026 will finish around 120,000. That is our own extrapolation, and it is above the top of FIRST's 90% range (117,673).
  • But exploitation is rare and roughly flat. Gamblin found only 0.24% of first-half 2026 CVEs in CISA's exploited list. VulnCheck puts the ratio at 1.4%, and only 1.3% of AI-discovered CVEs have been confirmed exploited[101][102]. FIRST calls it "rain vs. flood": far more rain, but no bigger flood[100]. October's 1-in-480 ratio (section 1) fits that pattern.
  • Patch speed matters more than ever. The same AI that finds bugs can turn a published patch into a working exploit. Anthropic built 8 working exploits from 18 Firefox patches and 8 Windows privilege-escalation chains from 21 kernel patches[103]. The gap between "patch released" and "exploit available" is shrinking.
What this means for security leaders: CVE volume will keep rising, and trying to patch everything is no longer a plan. The organisations that cope will prioritise by evidence of exploitation (CISA KEV, FIRST's EPSS scores, CISA's SSVC decision model), know exactly what software they run, and shorten the time from patch to deployment for the small set of flaws that matter[104].

Further reading

9. Method and caveats

  • "Reported" is CVE records published (CVE List V5) by publish date. NVD totals differ slightly because of rejected records and timezone handling: 15,117 for 1–27 Oct vs 14,514 from cvelistV5.
  • "Fixed" is each vendor's own October count, using that vendor's unit (CVEs, or unique CVEs for Oracle and Apple). The 3,814 total is a simple sum and overlaps are not removed. Microsoft's total varies by outlet; the most widely cited figure is used and the range is noted. Adobe's is counted from Adobe's own bulletins.
  • "Exploited" is CISA KEV additions only. KEV requires reliable evidence and a federal remediation path, so it undercounts. VulnCheck's KEV (broader) needs an API token, and no October figure was published.
  • Sources that block automated fetching (Reuters, nsa.gov, Ars Technica, X) were read via direct download, archive.org copies or Nitter mirrors. The few claims that still could not be checked against an original source are marked as press quotes. Raw research notes, with every URL, are in sources/.
About this briefing. Balance Bits Consulting prepared this analysis from public sources to show how we turn a month of vulnerability noise into a prioritized, sourced picture for decision-makers. Every figure links to its source below. Questions about how this applies to your environment? Get in touch.

Sources

  1. cve.0xosprey.com data feed (generated 2026-10-28 07:02 UTC) — https://cve.0xosprey.com/data.json · site: https://cve.0xosprey.com/
  2. NVD API 2.0 (pubStartDate/pubEndDate, noRejected) — services.nvd.nist.gov/rest/json/cves/2.0
  3. CISA Known Exploited Vulnerabilities catalog, JSON feed v2026.10.27 — cisa.gov/…/known_exploited_vulnerabilities.json
  4. SecurityWeek, "Microsoft Patches Record 1,413 Vulnerabilities Including Exploited Windows Zero-Day" (14 Oct 2026) — securityweek.com
  5. Microsoft MSRC CVRF, October 2026 — api.msrc.microsoft.com/cvrf/v3.0/cvrf/2026-Oct
  6. SecurityWeek, Oracle October 2026 CPU — securityweek.com
  7. Chrome Releases blog, October 2026 — chromereleases.googleblog.com/2026/10/
  8. Apple security releases — support.apple.com/en-us/100100 (advisories 149225, 149227, 149230, 149521–149527)
  9. PC-WELT, Adobe October patches — pcwelt.de; SecurityWeek — securityweek.com
  10. Android Security Bulletin, October 2026 — source.android.com
  11. SAP Security Patch Day, October 2026 — support.sap.com
  12. Wikipedia, "Black October (information security)" — en.wikipedia.org
  13. The Guardian (23 Oct) — theguardian.com; Washington Post — washingtonpost.com; CNBC — cnbc.com
  14. BleepingComputer, October 2026 Patch Tuesday — bleepingcomputer.com; PCWorld — pcworld.com; SonicWall — sonicwall.com
  15. The Hacker News, "Microsoft patches record 974 flaws" (Sep 2026) — thehackernews.com
  16. CrowdStrike, October 2026 Patch Tuesday analysis — crowdstrike.com
  17. Wiz Research, PHP2Shell — wiz.io/blog/php2shell-php-rce
  18. CISA alert, "Critical Vulnerabilities in PHP Require Immediate Patching" (21 Oct, rev. 26 Oct) — cisa.gov
  19. Help Net Security — helpnetsecurity.com; PHP ChangeLog — php.net/ChangeLog-8.php; BleepingComputer — bleepingcomputer.com
  20. Recorded Future, PHP2Shell exploitation — recordedfuture.com
  21. BleepingComputer, "Mozilla, Google, Apple block compromised eMudhra CA certificates" — bleepingcomputer.com
  22. eMudhra incident statement — emudhra.com; Mozilla Bugzilla 2083449 — bugzilla.mozilla.org
  23. Google, "Protecting Chrome and Android users from compromised eMudhra intermediate CA certificates" — blog.google
  24. Mozilla Security Blog (20 Oct) — blog.mozilla.org
  25. BankInfoSecurity — bankinfosecurity.com; Inc42 — inc42.com
  26. Node.js October 2026 security releases — nodejs.org
  27. Wiz, CVE-2026-111497 — wiz.io; OX Security — ox.security
  28. CVE record CVE-2026-111497 — cve.org; Brotli v1.2.1 release — github.com/google/brotli
  29. LiteLLM security incident, 21 Oct 2026 — docs.litellm.ai
  30. Wiz, "LiteLLM compromised" — wiz.io; SecurityWeek — securityweek.com
  31. The Hacker News, critical GitLab flaw (CVSS 10.0) — thehackernews.com
  32. Rapid7, Ivanti Connect Secure CVE-2026-104935 — rapid7.com
  33. Palo Alto Networks advisory CVE-2026-0322 — security.paloaltonetworks.com
  34. SecurityWeek, Cisco Secure Email Gateway — securityweek.com
  35. BleepingComputer, Atlassian exploitation after PoC — bleepingcomputer.com
  36. Rapid7, BeyondTrust CVE-2026-102764 — rapid7.com
  37. BleepingComputer, Collabora/Nextcloud — bleepingcomputer.com
  38. Adobe APSB26-73 — adobe.com
  39. Linux kernel CNA repository (counts computed by first-commit date) — git.kernel.org/pub/scm/linux/security/vulns.git
  40. CVE Services API / CVE.org records — cve.org (per-ID: cve.org/CVERecord?id=<ID>); NVD — nvd.nist.gov. Per-CVE vendor links in sources/research-video-cves.md
  41. Cloud Security Alliance, TeamPCP supply-chain cascade — labs.cloudsecurityalliance.org
  42. Cloud Security Alliance, Mini Shai-Hulud — labs.cloudsecurityalliance.org
  43. CISA, "CISA Adds Two Known Exploited Vulnerabilities to Catalog" (26 Oct) — cisa.gov
  44. UK NCSC, "Critical security issue affecting PHP" — ncsc.gov.uk
  45. Canadian Centre for Cyber Security, AL26-026 — cyber.gc.ca
  46. business.gov.au, "Critical vulnerabilities found in PHP" — business.gov.au; ASD alert — cyber.gov.au (unreachable when checked)
  47. (Superseded by [82]) MLex on NCSC New Zealand guidance — mlex.com; Digital Policy Alert — digitalpolicyalert.org
  48. Rijksoverheid, "NCSC: ernstige kwetsbaarheden in PHP" — rijksoverheid.nl; government sites offline — rijksoverheid.nl
  49. BSI Cyber-Sicherheitswarnung 2026-297981-1032 — bsi.bund.de; t3n — t3n.de
  50. CERT-FR, CERTFR-2026-ALE-014 — cert.cyber.gouv.fr
  51. CERT-EU Security Advisory 2026-018 — cert.europa.eu
  52. ENISA et al., "Joint statement on critical PHP vulnerabilities" — enisa.europa.eu
  53. IPA (Japan) security alert, 22 Oct — ipa.go.jp
  54. Graphic Online, "Government agencies given 7 days to patch critical PHP flaws" — graphic.com.gh
  55. CSA Singapore, AL-2026-151 — csa.gov.sg
  56. NSA, "NSA Advisory: Critical Patches Recommended for PHP Vulnerabilities" (21 Oct) — nsa.gov; FBI Cyber Division on X (21 Oct) — x.com/FBICyberDiv; Newsweek, FBI advice — newsweek.com; Defense One — defenseone.com; Unit 42 figure via WinBuzzer — winbuzzer.com
  57. W3Techs, PHP usage statistics (28 Oct 2026) — w3techs.com
  58. W3Techs, WordPress usage statistics — w3techs.com
  59. CybelAngel, citing Mallory/Shodan exposure data — cybelangel.com; mallory.ai
  60. The Hacker News, "PHP2Shell exploit attempts hit millions" — thehackernews.com; Huntress — huntress.com
  61. The Next Web, "PHP2Shell: millions of exploit attempts, no confirmed breaches" — thenextweb.com
  62. The Register, "CISA confirms PHP2Shell under attack…" (27 Oct) — theregister.com; Delft tracker — php2shell.delftintellab.com
  63. Insurance Business UK, councils and Met Police offline — insurancebusinessmag.com
  64. Maire-info, French public sites in maintenance — maire-info.com
  65. MTV Uutiset, Finnish government services shut down — mtvuutiset.fi
  66. iTWire, "PHP2Shell: the 14-year-old bugs that pulled cyber.gov.au … offline" — itwire.com
  67. CP24, Canadian government websites offline — cp24.com
  68. Digital Today (Korea), cyber alert raised to "Caution" — digitaltoday.co.kr
  69. Vanta, vendor blast radius (NCSC-NL inventory counts) — vanta.com
  70. Fortinet, "Understanding PHP2Shell vulnerabilities" — fortinet.com
  71. NBC News, PHP vulnerabilities — nbcnews.com
  72. Deccan Chronicle, Japan PM and FBI warnings — deccanchronicle.com
  73. Moneylife, "eMudhra: how a key-making blunder put the whole web's chain of trust at risk" — moneylife.in
  74. xkcd #221, "Random Number" (Randall Munroe, 2007) — xkcd.com/221
  75. The Register, eMudhra coverage — theregister.com
  76. @exploit.engineer on Instagram — instagram.com/exploit.engineer; X — x.com/_xploitEngineer
  77. CVE Program, "About" / overview — cve.org/About/Overview
  78. BleepingComputer, "CISA extends funding to ensure 'no lapse in critical CVE services'" (Apr 2025) — bleepingcomputer.com
  79. CSO Online, "CVE program funding secured, easing fears of repeat crisis" (9 Mar 2026) — csoonline.com
  80. Dan Goodin, Ars Technica, "The Internet goes on high alert after discovery of 8 compromised TLS certs" (20 Oct 2026) — arstechnica.com
  81. NCSC Ireland, advisory on CVE-2026-109618 / CVE-2026-109619 (21 Oct) — ncsc.gov.ie
  82. NCSC New Zealand, "CVE-2026-109618 and CVE-2026-109619 affecting PHP" (22 Oct) — ncsc.govt.nz
  83. CERT-In, CIVN-2026-0528 (27 Oct) — cert-in.org.in; JPCERT/CC, JPCERT-AT-2026-0033 (22 Oct) — jpcert.or.jp
  84. Fastly, "How Fastly detected and built a coordinated response to PHP2Shell" — fastly.com
  85. Red Hat, RHSB-2026-015 (Brotli CVE-2026-111497) — access.redhat.com
  86. Prime Minister Sanae Takaichi on X (21 Oct) — x.com/takaichi_sanae; National Cybersecurity Office (@cyber_forecast) on X — x.com/cyber_forecast
  87. Reuters, "Indian firm eMudhra exits global digital certificates business" (22 Oct) — reuters.com; Reuters, "EU agency warns websites may need to be taken offline as PHP prepares patches" (21 Oct) — reuters.com
  88. Adobe security bulletins and advisories — adobe.com
  89. The Register, "PHP2Shell puts dozens of UK government services out of service" (22 Oct) — theregister.com
  90. pwn.watch, live security incident tracker (by @thekitze) — pwn.watch; data feed — pwn.watch/incidents.json
  91. Anthropic Frontier Red Team, "Evaluating and mitigating the growing risk of LLM-discovered 0-days" (5 Feb 2026) — red.anthropic.com
  92. Anthropic, "Claude Mythos Preview's cybersecurity capabilities" and Project Glasswing (7 Apr 2026) — red.anthropic.com; anthropic.com/glasswing
  93. Mozilla Hacks, "Behind the Scenes Hardening Firefox with Claude Mythos Preview" (7 May 2026) — hacks.mozilla.org
  94. OpenAI, "Codex Security: now in research preview" (6 Mar 2026) — openai.com
  95. Google, "A summer of security" (15 Jul 2025) — blog.google
  96. DARPA, "AI Cyber Challenge marks pivotal inflection point for cyber defense" (8 Aug 2025) — darpa.mil
  97. Greg Kroah-Hartman, "Linux is a CNA" (13 Feb 2024) — kroah.com
  98. NIST, "NIST Updates NVD Operations to Address Record CVE Growth" (15 Apr 2026) — nist.gov
  99. ENISA, CRA Single Reporting Platform — enisa.europa.eu; Jones Day, "EU Cyber Resilience Act: 24-hour reporting duties start September 11, 2026" (Jul 2026) — jonesday.com
  100. FIRST, "Vulnerability forecast 2026: The Year Ahead" (11 Feb 2026) — first.org; "The 2026 Vulnerability Forecast Update: Navigating the AI Epoch" (15 Jun 2026) — first.org
  101. Jerry Gamblin, "CVE Mid-Year 2026 Check-In: Volume Vertical, Exploitation Rare" (1 Jul 2026) — jerrygamblin.com
  102. VulnCheck, "State of Exploitation 1H-2026" (28 Jul 2026) — vulncheck.com
  103. Anthropic, "Measuring LLMs' impact on N-day exploits" (8 Jun 2026) — red.anthropic.com
  104. FIRST EPSS — first.org/epss; CISA SSVC — cisa.gov; Trend Micro, "Volume Is Not Risk" (Jul 2026) — trendmicro.com