In less than a week a certificate authority broke, the languages much of the internet is built with were patched in a rush, and platforms holding the keys of thousands of developers were breached. Social media already calls it "Black October". This is what actually happened, what it means for health systems and what organizations should do today.
The name took off with a post by @AISafetyMemes on October 22: "This is the most serious 48 hours in cybersecurity history. 'Black October' they're calling it." Outlets such as CNBC, Axios and 404 Media picked up the term, and several link it to the speed at which AI tools are finding flaws. The PHP flaws, for instance, were found in August by researchers at Wiz and Calif using AI models from OpenAI and Google, according to CNBC. Former CISA director Chris Krebs put the scale in perspective: 3% of all critical vulnerabilities ever discovered surfaced in the last month. And CrowdStrike's 2026 Global Threat Report had already recorded an 89% increase in attacks by AI-enabled adversaries.
One caveat before going on: exaggerated versions of almost every one of these cases circulated online. As SecurityToday points out, what clustered in these days was mostly disclosures; several attacks had been running for weeks or months. Here we tell each case as primary sources tell it, and flag where the rumor goes beyond the facts.

Trust on the internet: eMudhra and its one-byte keys
eMudhra is an Indian certificate authority: one of the companies whose signatures browsers use to confirm a site is who it claims to be. On October 17 a researcher reported to Google that eight eMudhra intermediate certificates had absurdly weak private keys. They were P-384 elliptic-curve keys, which should be randomly chosen 384-bit numbers; instead they were integers smaller than 256. One of them was, literally, the number 4. Researchers also reported 56, 66, 115, 155, 156, 230 and 237.
With a key like that, anyone could rebuild it in under a second from the public certificate and issue valid certificates for any site. Mozilla recovered the keys on its own and blocked them that same night, according to its technical report and security notice. Chrome, Apple and Microsoft followed between October 17 and 20, and trust in the emSign ECC Root CA – G3 root was withdrawn. eMudhra attributes the error to a faulty step in its April 2025 key ceremony.
The stock hit the 20% daily limit on the Bombay Stock Exchange two days in a row, roughly 36–38% in a week according to Business Standard. On October 22 the company announced it is leaving the global SSL/TLS certificate business. Among its reasons it cited the business's small share of revenue, competition from free certificates and that "social media amplification" brought disproportionate scrutiny; it did not name the flaw as the cause. Earlier, in the technical thread, eMudhra had blamed "intense social media scrutiny" for its delays, and the Chrome Root Program rejected that explanation.
Why this matters beyond browsers: the certificate bundles of Python (certifi), Node.js and Go also had to be updated. A server or container that is not rebuilt keeps trusting the compromised keys, even after the user's browser no longer does.
The languages and servers everything runs on
PHP: the case that set off the alarms
PHP is behind about 7 in 10 websites whose server-side language is known, according to W3Techs. On October 21 the project released emergency patches for PHP2Shell, two flaws that allow unauthenticated remote code execution, which we already analyzed in detail with regard to OpenEMR.
The government response has no recent precedent. France took its prefecture websites offline while waiting for the patch, and the Netherlands, Finland, Luxembourg and several local administrations in Germany and the United Kingdom did the same as a precaution. In Japan, Prime Minister Sanae Takaichi publicly asked organizations to patch that very night, and the National Cyber Office noted that temporarily suspending a site is a valid way to reduce risk (nippon.com). In the United States, the NSA recommended disconnecting whatever could not be patched immediately (Defense One). The European Union, through ENISA and CERT-EU, asked organizations to consider isolating exposed applications. There were no forced shutdowns and no breaches of government sites were reported: these were preventive decisions.
Health was not spared. In the Netherlands, hospitals such as Jeroen Bosch Ziekenhuis, Amphia, Elisabeth-TweeSteden and Bravis took their websites offline as a precaution. Jeroen Bosch made clear that patient care was unaffected and that patients could still view their records and manage appointments (Omroep Brabant). In Costa Rica, the Ministry of Science and Technology (MICITT), through CSIRT-CR, warned public institutions on October 20 to prepare the patches, review their server logs and keep isolated backups (Delfino). And attackers did not wait: Cloudflare detected thousands of exploitation attempts in the 10 hours before the announcement, and millions afterwards (The Guardian).
Python, Node.js, Java and Go
- Python. There was no critical remote code execution flaw in the interpreter, as social media claimed. There were expedited security releases: Python 3.14.9 and its siblings updated certificates because of eMudhra, and a path traversal in
tarfilewas fixed (CVE-2026-114583). The serious flaw of the month was in a widely used library, Pillow, which processes images and allowed code execution through crafted EPS files; it is fixed in Pillow 13.0.0. - Node.js. The October 21 security release fixes 10 vulnerabilities, four of them high severity. One, in the Brotli decoder, can lead to remote code execution. The fixed versions are 26.12.1, 24.22.1 and 22.23.4; Node 20 no longer receives patches.
- Java. Oracle's quarterly update of October 20 brings 55 patches for Java SE, and the OpenJDK advisory adds 47 vulnerabilities. None exceeds 7.5 in CVSS: it is a routine update, but with many remotely exploitable flaws.
- Go. Two security releases in October: the one on the 8th fixes 15 flaws, mostly denial of service and HTTP request smuggling; the one on the 19th adds distrust of the compromised eMudhra intermediates to Go.
NGINX and the Linux kernel
NGINX, the web server and reverse proxy used by about 30% of websites whose server is known (W3Techs), released five fixes on October 14. F5 rates three of them critical (9.2 in CVSS v4.0); the NGINX project itself rates them medium because they are only exploitable with specific configurations. The fixed versions are 1.31.7 and 1.30.6.
In the Linux kernel, Phoronix reported on October 22 that the Zero Day Initiative mistakenly sent six vulnerability reports to the kernel's public list, before patches existed. Of the six, two allow remote execution, both in KSMBD, the kernel's built-in SMB server, which is optional and rarely enabled. The other four are local privilege escalations or information leaks.
Platforms and the supply chain
- Railway. This app hosting platform confirmed that between October 20 and 22 an attacker extracted and decrypted part of its customers' environment variables, mainly looking for AI provider keys. Up to 1.85% of workspaces may have been exposed; not every developer was affected. Deploys were paused for about a day and Railway has not recommended closing accounts. What it does ask is to rotate or revoke sensitive variables and review usage of connected providers.
- LiteLLM. The tool does not steal credentials; what happened was an attack on its supply chain. On October 21 a malicious version, 1.107.0, was published on PyPI and Docker Hub for about two hours. That version installed a program that stole provider keys and cloud and SSH credentials, and left a backdoor (official notice, Wiz). Anyone who installed it should assume every credential that machine could reach was stolen. It is LiteLLM's second compromise of 2026.
- Plex. Attackers chained four Plex Media Server flaws, dubbed Plex2Shell, to install cryptocurrency miners (BleepingComputer, Infobae). The fix is version 1.43.3 and, according to Plex's advisory, on many NAS devices it has to be installed by hand. There is no public count of infected servers; there are more than 48,000 exposed ones.
Personal data at scale
- California students. Someone used a stolen login to the file server of ETS, the organization that administers the state tests, and between May and September copied data on students from the last three school years: name, date of birth, address, scores, disability status and more (SecurityWeek, Malwarebytes). The 2025-26 school year alone has more than 5.7 million enrolled students. It has nothing to do with the Linux kernel flaws, as social media claimed: the theft began months earlier and used a valid credential.
- Medi-Cal billing. Paradigm Healthcare Services, which processes billing for Medi-Cal, California's public health program, reported that an intrusion exposed names, dates of birth and member numbers of more than 970,000 people (SecurityWeek). The access took place in October 2025 and the letters to those affected went out in September 2026, almost a year later. It is the risk posed by third parties that process health data on behalf of others.
- Capcom. The Japanese video game company confirmed that 11,774,247 CAPCOM ID account records were exposed, mainly email addresses and login data, and that 196 accounts had their passwords changed without authorization. In 19 of them the attackers viewed personal and purchase data (October 23 update).
Not even privacy tools were spared
- Signal. Malwarebytes reported a flaw (CVE-2026-113380) through which another call participant could stop a call from fully closing when you hung up, so your audio, and possibly video, kept reaching them. It is not an attack by a stranger, it does not break encryption and there is no evidence of exploitation. It has been fixed since September: keep Signal up to date.
- Tor. A researcher found 333 exit relays, about 10% of the total, redirecting SSH traffic to attacker servers. They were not relays set up by the attacker but compromised volunteer machines. They stole passwords from users who ignored the server key change warning. The Tor Project removed them from the network on October 4–5 (tor-relays list).
AI gets into bank accounts
Journalist Madison Mills reported in Axios that major US banks are finding third-party AI agents operating inside customer accounts, almost always with a username and password the customer handed over. One executive admitted they struggle to tell whether an agent was authorized by the user or is acting on its own. It is not an attack on funds, as the reporter herself told CBS, but something deeper: systems don't know who is acting on whose behalf. JPMorgan, Bank of America, Citi and Morgan Stanley already restrict or block these agents.
And the press?
PHP made the general news. The BBC's live coverage summarized its cyber correspondent, Joe Tidy, as saying he didn't know PHP existed until the day before, and that it is "one of these things we take for granted" (HackerNoon reproduces the screenshot). Beyond the mockery online, the line captures something true: the most critical infrastructure is the one nobody sees. If the specialized press struggles to follow it, a hospital board struggles more, which is why this conversation cannot be left to the IT team alone.
Which digital health platforms are exposed?
So far no hospital or health system has been reported compromised by these particular cases. But almost all the software behind digital health is built on these pieces, which makes it directly exposed. Here is a quick guide:
| Platform | Runs on | What to check this month |
|---|---|---|
| OpenEMR and PAHO's derivative AIOTP | PHP | PHP2Shell patch, Docker images (see analysis) |
| HAPI FHIR | Java | October JDK; 2026 advisories in the core library (XXE, denial of service) |
| DHIS2, a digital public good | Java | October JDK; June's critical deserialization flaw (advisories), fixed in 2.42.5.1 and 2.43.0.1 |
| Snowstorm, the SNOMED CT server | Java | October JDK; XSS fixed in 10.9.3 and 10.12.2 |
| Mirth Connect and Open Integration Engine | Java | XXE and SQL injection flaws in the CISA advisory: Mirth 4.7.2 or OIE 4.7.0; open source 4.5.2 remains vulnerable |
| Hospital institutional websites | PHP (WordPress, Drupal) | PHP2Shell patch; keep the public site separate from the patient portal |
| FHIR portals, apps and clients | Node.js | Node 26.12.1, 24.22.1 or 22.23.4 |
| Clinical assistants and AI pipelines | Python | LiteLLM 1.107.0, Pillow, certificates |
| Exposed APIs and gateways | NGINX, Linux | NGINX 1.31.7 or 1.30.6; kernel with KSMBD disabled |
| Inter-institution exchange (mTLS, digital signature) | Certificates | Trust stores without the eMudhra intermediates |
Java deserves a separate note. A large share of health interoperability infrastructure is written in it, including several digital public goods that ministries and cooperation agencies rely on. October's JDK flaws are not the worst of the month, but these platforms also carry their own vulnerabilities: in 2026 DHIS2 fixed a critical remote execution flaw and Mirth Connect fixed XXE flaws exploitable without logging in. And CVE-2023-43208, a remote execution flaw in Mirth, is still in CISA's catalog of exploited vulnerabilities. An integration engine that receives HL7 messages from the whole network is, by design, something worth keeping up to date.
Action plan

Jason Clinton, Anthropic's deputy chief information security officer, put it this way to security leaders: go to your boards now and ask for help, "not for AI, for the basics" (CNBC). Without going into technical detail, these are the steps every health organization should have under way:

- Know what you have. An inventory of systems, versions and components (known as an SBOM). Without it there is no way to answer "does this affect us?".
- Patch by priority. Internet-facing first: portals, FHIR APIs, integration engines. Whatever cannot be patched today gets isolated. To set the order, CISA's catalog of known exploited vulnerabilities matters more than the CVSS score: the time between disclosure of a serious flaw and its exploitation is now three days on average, according to Rapid7 (SecurityToday).
- Rotate secrets. If you used Railway, LiteLLM 1.107.0 or keep keys in environment variables of affected services, change them, review their usage and give them an expiry date.
- Look after the supply chain. Pin dependency versions, rebuild containers instead of patching them by hand, and don't blindly upgrade to "latest".
- Review trust. Update the certificate stores of servers and containers, and know which authority signs the certificates your systems use to talk to each other.
- Govern AI agent identity. No agent should log in with a person's password; it needs its own identity, limited permissions and a record of what it does.
- Be ready to respond and notify. A named owner, a tested response plan and clarity about the duty to notify the data protection authority and the affected individuals.
What this says about standards, interoperability and architecture
Black October is not just a list of patches. It tests how we design health information exchange, and it leaves five lessons.
Interoperability multiplies the reach of a flaw. A health record exposing a FHIR API, or an integration engine receiving messages from ten hospitals, is no longer an isolated system: it is a door to the whole network. That is why security has to be part of the architecture from the start. One example is a FHIR layer that sits between the legacy system and the internet, instead of exposing it directly. Jeroen Bosch Ziekenhuis showed it: it switched off its institutional website and its patient portal kept working. Separating the public from the clinical is an architecture decision.
The standard is not the implementation. Speaking FHIR does not make a system secure. Researcher Alissa Knight showed it in 2021 in Playing with FHIR: Hacking and Securing FHIR API Implementations, a study sponsored by Approov. She analyzed production FHIR APIs serving an ecosystem of 48 apps and APIs, with data aggregated from 25,000 providers and payers, and from a single patient account she reached 4 million patient and clinician records (Approov summary). Five years earlier, her findings already anticipated what this month repeated:
- Every FHIR API tested let one patient's credentials reach other patients' data. It is the broken object level authorization (BOLA) flaw that tops the OWASP API Security Top 10, and the same underlying problem as the banks': the system does not check who is acting on whose behalf.
- 53% of the mobile apps had API keys and tokens hardcoded: the same kind of secrets stolen from Railway and LiteLLM.
- None of the apps prevented man-in-the-middle attacks. That is the certificate trust eMudhra broke.
- Half of the aggregators did not segment their customers' databases, the opposite of storing less and separating what is sensitive.
An important nuance: neither the standard nor the EHR vendors' FHIR repositories were breached. HL7 International clarified that the study found no flaws in FHIR or in the APIs of the EHRs tested; the gaps were in the apps and in the intermediary aggregators, which is why the author changed the original title. A FHIR ecosystem is as secure as its weakest link, and that link is almost never the standard.
Trust rests on certificates, and certificates fail too. The eMudhra case hits health squarely. Exchange between institutions uses mutual TLS, the IHE ATNA profile requires nodes authenticated with certificates, digital signatures on clinical documents depend on a chain of trust, and national networks such as X-Road, which Costa Rica is adopting under its Interoperability Decree, rest on trust services. Choosing the certificate authority well, controlling trust stores and being able to revoke quickly are architecture decisions. That is what we solve with Kivú eSignature.
Standards already solve the banks' problem. An agent logging in with the user's password is exactly what the IHE Internet User Authorization (IUA) profile prevents. IUA builds on OAuth 2.1: each application or system gets its own access token, short-lived and revocable. That token states who the user is, which organization they belong to, in what role and for what purpose they act (treatment, emergency, research) and under which patient consent. The server holding the data decides based on that information, not on a shared password. Traceability completes the picture: IHE ATNA and IHE BALP define how to record every access as FHIR AuditEvent resources and, together with Provenance, keep a record of who did what, on whose behalf and with what authorization. When AI agents reach patient portals, and they will, each agent should have its own token and its own identity, not the patient's. The difference between a prepared system and an exposed one will be having implemented these profiles, not blocking blindly.
Storing less means exposing less. The California breach exposed disability data and scores of millions of minors that sat on a file server. In health, data minimization, pseudonymization and data modeling that separates identifiable data from clinical data reduce the damage when something fails. And something always fails.
How we can help
At Meddyg we help health institutions review their architecture with these risks in mind:
- Interoperability assessment: what systems you have, what they expose, what technologies they run on and how prepared your organization is.
- Architecture definition: secure exchange with HL7 FHIR, IHE profiles such as IUA and ATNA, and X-Road, with identity, auditing and trust designed in from the start.
- FHIR layer and Kivú FHIR: expose data through standards without opening legacy systems to the internet.
- Kivú eSignature: digital signatures and verifiable certificate management.
If you want to know how much of your operation depends on the pieces that broke this month, let's talk.
Sources
- @AISafetyMemes: the "Black October" post, October 22, 2026
- CNBC: AI's "Black October"
- The Guardian: experts warn of a new era of AI-enabled hacking
- CrowdStrike: 2026 Global Threat Report
- Omroep Brabant: Dutch hospital websites offline
- Delfino: MICITT warns public institutions about PHP2Shell
- SecurityWeek: the Paradigm Healthcare breach
- SecurityToday: many attacks had been running for months
- Mozilla Bugzilla 2083449: weak keys in eMudhra intermediates
- Mozilla: protecting Firefox users after the eMudhra compromise
- eMudhra: exit from the SSL/TLS certificate business
- W3Techs: PHP usage and NGINX usage
- nippon.com: Prime Minister Takaichi's call
- Defense One: NSA warning on PHP
- ENISA: joint EU statement on PHP
- Python: security announcements
- Node.js: October 2026 security releases
- Oracle: October 2026 Critical Patch Update and OpenJDK advisory
- Go: release history
- NGINX: security advisories
- Phoronix: kernel vulnerabilities posted by mistake
- Railway: preliminary incident report
- LiteLLM: October 21 security incident
- Plex: security update for version 1.43.2 and earlier
- SecurityWeek: California student data
- Capcom: October 22 notice and October 23 update
- Malwarebytes: the Signal flaw
- kaba.cx: hijacked Tor exit relays
- Axios: unvetted AI agents in bank accounts
- Approov and Alissa Knight: Playing with FHIR: Hacking and Securing FHIR API Implementations, October 2021
- HL7 International: statement on the Playing with FHIR paper, October 27, 2021
- CISA: medical advisory ICSMA-26-253-01 (Mirth Connect)
- DHIS2: security advisories


