Skip to content
Black October: What Actually Happened, and What To Patch
← Back to blogNews

Black October: What Actually Happened, and What To Patch

“Black October” looked like AI swarms hacking the internet. We checked all 28 incidents against primary sources: most of the AI defends, and the damage came from long-lived keys in shared places. What to patch and rotate this week, starting with PgBouncer.

Gautam Gopinadhan

Gautam Gopinadhan

2026-10-27 · 15 min read

Black October is the name social media gave to a wave of security disclosures in October 2026, including PHP2Shell, the Railway and TiDB Cloud breaches, and the LiteLLM supply-chain attack.

Most of the "AI is hacking the internet" stories are about AI finding bugs, not exploiting them. The breaches that hurt database teams came from long-lived credentials stored in shared places. Here's what we found and what to do this week.

The short version

  • Most of the AI in this story works for defenders. Vulnerability disclosures doubled this year, and AI tools found the most serious bug on the list before it was widely exploited.
  • AI-driven attacks are real but rare. Only two of the 28 incidents involve an AI-driven attack, and the evidence for one of them is weak.
  • Stolen credentials did the real damage. Railway, Zeabur, TiDB Cloud, and LiteLLM all came down to long-lived keys stored in one place.
  • Your next step: Patch the software next to your database, and rotate any database credential stored in a platform's environment variables.

What was Black October?

Black October was a burst of alarm in mid-October 2026, when a list of 28 security incidents spread on Reddit and X. One post said AI agent swarms were hacking about half the internet. Another said a new CVE (Common Vulnerabilities and Exposures entry) was dropping every hour.

The panic follows a familiar plot. In The Hunt for Red October (1990), the Soviet Union launches a new submarine with a drive so quiet that sonar can barely hear it. When it heads for the US coast, both governments assume its captain, Marko Ramius, plans to attack. One analyst, Jack Ryan, reads the same evidence and reaches the opposite conclusion: Ramius is defecting and bringing the submarine to the West.

Black October has the same shape. A powerful new capability, AI that finds software flaws at scale, showed up all at once, and the first reading was that it was being turned against everyone. The evidence mostly points the other way. Like Red October, the alarming new arrival is largely on the defenders' side. The damage this month came from something older and quieter.

We took Ryan's approach. We checked each incident against primary sources and sorted it by what AI actually did. Then we searched security news for critical incidents that the list missed. We build Readyset, a SQL proxy that sits between applications and Postgres or MySQL, so we focused on those databases and the credentials that reach them.

How many of the 28 incidents actually involved AI?

Nine of the 28 incidents have a documented or possible AI connection, and none was traced to AI-written code. The other 19 have no documented AI link.

Readyset review of 28 incidents from the viral Reddit list, primary sources, as of October 22, 2026 (full table in the appendix)

The sources show two more patterns:

  • Some of it is old news. The Medi-Cal billing-vendor breach happened in October 2025. The AOMEI update tampering ran from May through July. Palo Alto patched its GlobalProtect bug in May, and the North Korean campaign started in July 2025. SecurityToday found that many of the attacks began weeks or months earlier.

  • Some numbers grew in the retelling. eMudhra's "master keys" were eight intermediate certificates that never issued a website certificate. Railway said an attacker "may have" reached customer secrets. Zeabur's 321,810 figure counts account records read from a database, not accounts taken over. Cairn's "100+ companies" is an estimate based on token spending.

The closest case of AI-written code isn't on the list. UpGuard found more than 16,000 misconfigured Supabase databases, most with row-level security turned off. UpGuard attributes most of them to apps built with AI coding agents, but says its scan can't prove that for any single site.

Is AI really finding more bugs?

Yes. AI tools got very good at finding bugs this year, and defenders use them the most.

One scene in the film captures what that feels like. Red October's quiet drive confuses the US sonar computer, which logs it as "magma displacement," a natural sound. Sonar operator Seaman Jones plays the recording 10 times faster and hears a machine. Better sensors put more contacts on the screen, and the work becomes telling them apart. That's where the security industry is now:

  • Disclosures doubled. The US National Vulnerability Database (NVD) logged 72,812 CVEs from January through September, more than in all of 2025. September alone had 14,943, compared to 4,321 a year earlier.
  • AI found the most serious bug on the list. PHP2Shell lets an unauthenticated attacker run code on any web server that runs PHP, through code that dates back to 2012. Calif and Wiz each found it, both using the same OpenAI model. OpenAI says AI found it before attackers did. But Amazon's honeypots logged an exploit attempt four days before disclosure, and a leak forced the patch out a day early.
  • AI tools appear in vulnerability credits. The Node.js Brotli fix credits OpenAI Codex Security. Microsoft's October Patch Tuesday fixed about 1,411 flaws, a record that the press links to Microsoft's own AI bug hunting. Anthropic's disclosure dashboard lists 219 CVEs and 365 GitHub security advisories.
  • Attackers use few of these bugs. VulnCheck counted 225 CVEs credited to Anthropic's program as of late September. Attackers have exploited one.

Maintainers carry the cost. PostgreSQL 19 moved to November 19 and dropped several major features. The project cites the volume of fixes to older branches, and press coverage ties that volume to AI-assisted code review. curl will publish low- and medium-severity reports openly starting October 26 because its maintainers can't keep up.

If you run Postgres or MySQL, patch on a tighter schedule than you did a year ago. Rapid7 reports that attackers now exploit high-severity bugs about three days after disclosure, on average.

Have AI agents actually run attacks?

Yes, but the confirmed cases are fewer, and stranger, than the X posts suggest.

A lab's own agents caused the Hugging Face incident. The "swarm" that people cite came from OpenAI's test environment. According to OpenAI, agents running a hacking benchmark with reduced safeguards couldn't solve some tasks and went looking for answers. They broke into OpenAI's own artifact server first, then reached Hugging Face in July. About 1,200 agents were involved. In May, agents that OpenAI was testing also pushed malicious packages to RubyGems.

Criminals use agents to scale up. In the Cairn campaign, attackers aimed an open-source multi-agent platform at more than 1,200 websites. The agents tried to plant web shells, which are scripts that give an attacker remote control of a server. Reuters named Deere, SharkNinja, and Cummins among the targets, and each reported limited impact. The attackers also left their own control panels exposed, leaking hundreds of credentials. Anthropic's September threat report describes one group running Claude Code workflows with little human input, and another that scanned 1.8 million Android apps for hard-coded secrets.

These agents went after known web bugs and exposed secrets. They didn't invent new kinds of attacks. They made old attacks cheap enough to run against everyone at once.

Where did the real damage come from?

The incidents that hurt database teams this month share a pattern: one long-lived credential, stored in one place, that opened many systems. The weak spots were systems nobody watches closely: the platform that stores your environment variables, your CI/CD (continuous integration and delivery) server, a vendor's control plane, or a laptop with a .env file.

IncidentHow attackers got inWhat they could reachTime inside
TiDB CloudA stolen service-account credentialAccount data, SQL editor text, and encrypted management API keysAbout four weeks (Sep 9-Oct 7)
ZeaburLeaked long-lived AWS keys and a cluster admin token that never expired3.2 million environment-variable records and possible access to 865 database servicesOct 14-15, its second breach since August
RailwayNot disclosedCustomer environment variables, which can include database credentials; some were decryptedDetected Oct 21
LiteLLMGitHub CLI tokens stolen from three engineersA stealer that took .env files, psql and mysql shell history, and keys found through DATABASE_URLAbout two hours live on PyPI
UpdraftPlusA breach of the vendor's own websiteConnection keys to customer WordPress sites that never expireOct 18-19
OVHcloud CLIA contributor's GitHub account, compromised since MarchRelease files for five versions of the toolAbout 94 minutes of bad downloads

The pattern shared by the Railway, Zeabur, TiDB Cloud, and UpdraftPlus incidents

Zeabur's own report says its admin credentials were long-lived, stored in plain text, and usable from the public internet. Railway says its incident is one of a series aimed at hosting platforms, with AI inference providers as the final target. A researcher traced cryptocurrency thefts that used keys stored on Railway to about two hours before Railway's disclosure.

TiDB Cloud matters most to us because it's a managed MySQL-compatible database. PingCAP found no sign that the attacker touched data inside customer databases, and it hasn't asked customers to change database passwords. But the attacker did get text that people typed into the web SQL editor. If anyone on your team pasted a connection string or password into a hosted SQL console, assume that someone else has it.

What should you patch and rotate this week?

Patch PgBouncer, your database, and the app-tier software next to it, then rotate every database credential stored in a platform's environment variables. The details follow.

Patch these components

The list starts with the database tier.

ComponentUpdate toWhy it matters
PgBouncer1.26.1A client with one user's password can sign in as any other user that uses SCRAM password authentication, including superusers. Two other bugs let an unauthenticated client freeze it.
MySQLOctober Critical Patch Update (8.4.13 for the 8.4 line)Quarterly MySQL fixes; version 8.4 is affected through 8.4.12
MariaDB10.6.28, 10.11.19, 11.4.13, 11.8.9, or 12.3.3MariaDB published 15 CVEs on October 9 and 16, including three rated 9.9. The fixes shipped in the summer releases, so confirm that you have them.
pgvector0.8.7Buffer overflow when it builds IVFFlat indexes
PgJDBC42.7.14Two CVEs in the Java driver
PostgreSQL18.6, 17.11, 16.15, 15.19, or 14.24No October release, but the August release fixed 28 CVEs. If you skipped it, update before the November release.
PHP8.5.12, 8.4.27, 8.3.36, or 8.2.35PHP2Shell lets attackers run code on the app servers that hold your database credentials.
GitLab19.5.1 or its backportsTwo bugs rated 10 out of 10. CI/CD variables often hold production database credentials.
Node.js22.23.4, 24.22.1, or 26.12.1Brotli decoder bug, plus fixes for TLS hostname checks
NGINX1.31.7 or 1.30.6Three memory bugs, each needing a specific configuration (alias, AIO with SSI, or a regex map)

If any computer installed LiteLLM 1.107.0 on October 21, treat it as compromised. Rotate every credential it could read, including database passwords.

Reduce credential risk

  1. Rotate every database credential that you've stored in a hosting platform's environment variables, a CI/CD system, or a hosted SQL console.
  2. Switch to short-lived credentials where your platform supports them, such as cloud identity and access management (IAM) database authentication or dynamic secrets from a vault.
  3. Create a separate database user for each service and each AI agent, with only the access it needs. Don't let agents use the application's sign-in. The same goes for any proxy in the path: Readyset, PgBouncer, or ProxySQL should each connect with its own user, not the application's.
  4. Block public internet access to your database, and require TLS.
  5. Turn on audit logging for your database and for any control plane that manages it.
  6. Store backups offsite, and make them immutable. The SafePay advisory describes attackers resetting backup appliances and deleting backups before they encrypt data.

Per-agent database users get hard to manage once you have more than a few agents. That's the problem we're building Readyset Guard to solve: it applies per-agent access policies at the proxy, so each agent gets only the queries and data it should.

One ping only

The film ends well because Ryan read the evidence instead of the noise. Near the end, Ramius asks for "one ping only": a single sonar pulse that shows exactly where he is after hours of guessing on both sides.

That's the standard we'd hold this month's coverage to. The AI story is mostly good news: AI is finding old bugs faster than attackers, and patches are shipping. The part that cost people data and money was quieter. It came in through keys that had sat in the same place for months.

Patch what sits next to your database, and spend an afternoon on the systems nobody watches. You'll learn more there than from the news feed.

Appendix: All 28 incidents

We checked each incident against primary sources where they exist. Relevance means relevance to teams that run Postgres or MySQL.

#IncidentWhenWhat AI didRelevanceWhat the list got wrong
1PHP2ShellFixed Oct 21Found the bugMedium-highUnderstated it. "70%" is PHP's share of websites, not the share that's vulnerable.
2eMudhraOct 20Found it (weak link)LowIntermediate keys, not root keys. None issued a website certificate.
3California studentsAccess May-Sep; notice Oct 19NoneLowThe breach was at ETS, the testing vendor.
4RailwayOct 21AI keys targetedHighRailway says "may have accessed" and gives no count.
5ZeaburOct 14-17AI keys targetedHighCounted 321,810 records read, not accounts taken over.
6LiteLLMOct 21AI tool compromisedMedium-highThe bad release was live for about two hours.
7GitLabOct 12 and 21NoneMediumMerged two separate bugs rated 10 out of 10 into one.
8CairnSep 25-Oct 19Agents ran the attackMedium-high"100+" is an estimate based on token spending.
9Ahold DelhaizeOct 11-12NoneLowThe company took systems offline itself, and stores stayed open.
10Onamae.comOct 20-21NoneMediumOne VPS product. 26,739 servers were possibly affected.
11SignalFixed Sep; CVE Oct 20NoneLowA malicious caller has to trigger it.
12NGINXOct 14NoneMedium-highRated 8.1 under CVSS 3.1. Each bug needs a non-default configuration.
13HTTP/3 QPACKOct 22NoneLowAffects HTTP/3 libraries, not mainstream web servers.
14PlexExploited from Oct 17NoneLowPatched in August. Only unpatched servers are at risk.
15SafePayOct 20NoneMedium600+ victims, but not all are critical infrastructure.
16Palo Alto GlobalProtectBug from May; update Oct 19NoneMedium-highAn old bug with a new ransomware attribution.
17BullhornOct 16-19NoneLow-mediumAccurate
18Medi-CalBreach Oct 2025NoneLow-mediumA billing vendor, and a year old
19UpdraftPlus (WordPress)Oct 18-19NoneMediumAccurate
20AOMEIMay-Jul; disclosed Oct 16NoneMediumMonths old
21Meta MuseOct 20-21AI product leaked dataMediumShared chats only. No misuse seen.
22Tor relaysAug-Oct 20NoneLow-mediumHacked exit relays stole SSH passwords, not general sign-ins.
23TiDB CloudSep 9-Oct 19NoneHighThe attacker's 10.6 TB and 180,000-organization claims are unconfirmed.
24State Bank of IndiaOct 21NoneLow3,897 records confirmed. SBI hasn't confirmed a breach of its systems.
25OVHcloud CLIOct 19NoneMediumAccurate, but nobody has analyzed the payload.
26Siemens Software CenterOct 15-19NoneLowAn installer app, not industrial systems
27North Korea (Lazarus)Since Jul 2025; Oct 21Attack (weak link)LowNot new. The AI link is one generated photo.
28Node.js BrotliOct 21Found the bugMediumCode execution was shown only on a weakened build.

What the list missed

Database and credential items come first.

IncidentWhenWhat AI didWhy it matters
PgBouncer SCRAM bypassOct 14None statedLets a client sign in as any SCRAM user, including superusers
MySQL October patch updateOct 20None statedQuarterly MySQL fixes; 8.4 is affected through 8.4.12
MariaDBOct 9 and 16None stated15 CVEs published, three rated 9.9; fixes already shipped
pgvectorOct 5None statedOverflow when it builds indexes
Supabase exposureSep 28AI-built apps, probably16,000+ readable databases, most with row-level security turned off
OpenCode ConsoleOct 16-17AI keys targetedStored LLM API keys may have been exposed for about 1.4 percent of users.
Atlassian Data CenterPatched about Oct 6NoneUnauthenticated file read that leads to admin access, exploited within hours of a public write-up
BeyondTrust Remote SupportFixed Oct 8NoneA zero-day exploited since August
Ivanti Connect SecureOct 13NoneA zero-day, with part of the attack chain still unpatched
OpenAI agent and Medicare AustraliaDisclosed Sep 24Agent ran the accessA lab's test agent reached a government statistics portal.

Want to see Readyset in action?

Book a demo and see how Readyset can accelerate your database.