← Back to Pulse PULSE. brief
A Bad Week for the Web: What’s Confirmed and What to Do

A Bad Week for the Web: What’s Confirmed and What to Do

Traversy Media13 min2026-10-23 ▶ Watch on YouTube
What this video is
⚡ a 14-minute video, readable in 60 seconds

This week, within a window the source places between October 17 and 22, 2026, three separate security incidents hit web infrastructure: PHP rushed out an emergency patch for two critical remote-code-execution bugs nicknamed PHP2Shell (CVE-2026-109618 and CVE-2026-109619, officially rated 9.2 Critical by PHP), cloud host Railway disclosed a breach in which an attacker obtained decrypted customer API keys and database credentials and paused all deployments for roughly a day, and certificate authority eMudhra had eight signing keys compromised due to a key-generation flaw from about a year and a half ago. The source explicitly flags some widely-shared numbers as unconfirmed rather than settled fact: the claim that 70% of the internet is affected only reflects how many sites run PHP, not confirmed exploitability, and the viral CVSS 10 of 10 figure came from a pre-advisory leak versus PHP's own official 9.2 score, while AWS's reported exploitation attempt and any link between the Railway, Vercel, and OpenCode incidents remain unconfirmed. The creator's stated advice is to patch PHP to the fixed versions and confirm workers restarted, to rotate all secrets and revoke old keys at the source for Railway users, and notes that for the eMudhra issue most users don't need to do anything since Chrome and Firefox already blocked the weak keys.

Event: PHP rushed out an emergency patch this week for two bugs that let someone take control of a server. [00:23]
Key takeaways
+ 42 more takeaways
  • Timeline (~01:26): The two PHP vulnerabilities are CVE-2026-109618 and CVE-2026-109619, nicknamed PHP2Shell.
  • Timeline (~01:54): There are two ways to run PHP, the old Apache plus mod_php method where PHP runs inside the web server, and the modern Nginx plus PHP-FPM method using a separate pool of PHP worker processes.
  • Timeline (~02:34): Researchers showed the bugs can be used to read live memory out of PHP worker processes, including session data, tokens, and API keys from other people's requests.
  • Timeline (~03:19): The CVSS 10 of 10 rating reportedly came from a leak before the real advisory was published.
  • Timeline (~03:54): Three groups found the bugs over the past few months, Wiz, a small research firm called Califf, and the OpenAI security team, all of whom said AI helped significantly in finding and exploiting the bugs.
  • Timeline (~04:49): AWS reportedly saw an exploitation attempt on October 17, four days before the fix came out on October 21.
  • Timeline (~05:11): CISA urged immediate patching of the two CVEs, dubbed php2shell, warning they affect all PHP installations serving web requests.
  • Timeline (~06:21): On the same day, Node.js shipped a security release fixing 10 bugs, the major one a Brotli decompression flaw, CVE-2026-111497.
  • Timeline (~07:29): Railway announced this week that someone got into the systems that store customer environment variables.
  • Timeline (~07:50): Railway paused all deployments while investigating, lasting about 21 hours on its Pro plan and 36 hours on Hobby.
  • Timeline (~10:37): eMudhra's compromised keys trace back to a key-generation flaw from about a year and a half ago that produced a second set of weak keys, which the source says was not a hack.
  • Timeline (~12:20): After the weak keys were reported, Chrome issued an emergency block 1 hour 40 minutes later, and Mozilla's block was in place the same day.
  • Confirmed: PHP's official CVSS v4.0 score for the bugs is 9.2 Critical, allowing remote code execution with no login required. [01:36]
  • Confirmed: CVSS score is a standard way of rating how bad a vulnerability is from 0 to 10, based on factors like network accessibility, login requirement, and potential damage. [02:56]
  • Source: PHP's official rating is 9.2, versus the CVSS 10 of 10 figure some reports used. [02:47]
  • Confirmed: The fixed PHP versions are 8.5.12, 8.4.27, 8.3.36, and 8.2.35. [05:15]
  • Confirmed: On some Linux distros the fix may be backported without the version number changing, so the creator advises checking your distro's security advisory rather than just the version number. [05:20]
  • Confirmed: The fix does not take effect until PHP workers actually restart. [05:41]
  • Confirmed: PHP issued one-time patches for unsupported versions 7.4, 8.0, and 8.1, but advises moving to a supported version. [05:59]
  • Confirmed: Updating Laravel or WordPress does nothing for this vulnerability, only updating PHP itself fixes it. [06:09]
  • Source: CISA urged immediate patching of CVE-2026-109618 and CVE-2026-109619. [05:11]
  • Confirmed: Railway disclosed that someone accessed the systems storing customer environment variables, which include database URLs and API keys. [07:01]
  • Confirmed: Railway says environment variables are stored encrypted, but the attacker obtained the decrypted values for some of them. [07:38]
  • Confirmed: The exposed data included API keys and database credentials. [07:45]
  • Confirmed: With deployments paused, users could rotate and revoke leaked keys but could not deploy the new key, forcing a choice between downtime or leaving an exposed key active. [07:55]
  • Confirmed: Inference providers refers to companies you pay to run AI models. [08:26]
  • Confirmed: eMudhra had 8 intermediate CA signing keys compromised, 6 for TLS and 2 for code signing, caused by a key generation flaw rather than a hack. [10:37]
  • Confirmed: A normal private key is a 256-bit number, but one of eMudhra's weak keys was literally the number four. [12:03]
  • Confirmed: A researcher recovered all eight weak private keys for EM OV TLS CA-G3C from the public certificates in 0.98 seconds. [12:07]
  • Confirmed: The weak keys sat recoverable for about a year and a half before anyone flagged them. [12:14]
  • Source: Google says none of the six affected TLS intermediates showed up in Certificate Transparency logs before the block. [12:27]
  • Unconfirmed: Reports claim 70% of the internet is affected, but the creator notes that figure just reflects how many websites run PHP, not confirmed exploitability. [03:27]
  • Unconfirmed: The vulnerability reportedly dates back over a decade, to around PHP version 5.4. [03:48]
  • Unconfirmed: AWS's October 17 exploitation attempt has not been confirmed as an actual compromise. [04:49]
  • Unconfirmed: Railway says it believes this is part of a series of attacks on platform companies aimed at compromising AI inference providers like OpenAI and Anthropic. [08:18]
  • Unconfirmed: Vercel was reportedly hit in April and OpenCode's hosted console was hit a few days before Railway, but nobody has confirmed the same attackers are behind all three incidents. [08:46]
  • Unconfirmed: Some people affected by the OpenCode incident reported unexpected charges, though the amounts are unverified. [09:08]
  • Implication: CISA and PHP advise patching immediately to 8.5.12, 8.4.27, 8.3.36, or 8.2.35 and confirming PHP workers restarted. [05:11]
  • Implication: Railway advises rotating every secret in your environment variables, not just the ones suspected exposed, and revoking old keys at the source, such as AWS or OpenAI, before waiting for deployments. [09:27]
  • Implication: General advice is to use separate API keys per app, set spending limits and alerts, and check usage dashboards like OpenAI and Anthropic for unfamiliar models or sudden spikes. [10:03]
  • Implication: For the eMudhra issue, the creator says most users have nothing to do since browsers already handled it, just keep your browser and OS updated. [12:35]
  • Speculation: The creator's own take is that none of this is new since the PHP bug sat in code for over a decade, CA key-generation mistakes have existed for decades, and API keys have been stolen from .env files forever, but he argues AI is scaling and speeding up these problems. [13:08]
Timeline (~01:54): There are two ways to run PHP, the old Apache plus mod_php method where PHP runs inside the web serve
Timeline (~01:54): There are two ways to run PHP, the old Apache plus mod_php method where PHP runs inside the web serve ▶ 2:16
Confirmed: A normal private key is a 256-bit number, but one of eMudhra's weak keys was literally the number four. [12:0
Confirmed: A normal private key is a 256-bit number, but one of eMudhra's weak keys was literally the number four. [12:0 ▶ 12:03
Speculation: The creator's own take is that none of this is new since the PHP bug sat in code for over a decade, CA key-
Speculation: The creator's own take is that none of this is new since the PHP bug sat in code for over a decade, CA key- ▶ 13:29
Shown on screen — grab and go
QUOTECISA's emergency PHP2Shell patch alert
Critical Vulnerabilities in PHP Require Immediate Patching
Release Date: October 21, 2026
CISA strongly urges organizations to immediately patch the recently disclosed critical vulnerabilities in PHP, CVE-2026-109618 and CVE-2026-109619. These vulnerabilities, known as "php2shell," allow for unauthenticated remote code execution in PHP and affect all PHP installations serving web requests. Organizations should immediately update to PHP 8.5.12, 8.4.27, 8.3.36, or 8.2.35 to fix these vulnerabilities. While CISA has not observed exploitation of these vulnerabilities as of the time of publication, they pose a risk to organizations if left unpatched.
merged from the clearest of three overlapping OCR reads of the CISA alert card shown 5:09-5:13, attributed on screen to CISA, Oct 21 2026. shown at 5:11
QUOTERailway's breach notice to customers
Earlier this morning, Railway detected anomalous activity involving systems that store customer environment variables. After further investigation, our investigation to date indicates that an unauthorized third party may have accessed encrypted environment variables and, for some of them, obtained the decrypted contents. Environment variables may contain secrets such as API keys or database and registry credentials.

We believe this is part of a series of attacks recently targeting platform companies with the aim of compromising AI inference providers. We have notified these upstream providers to revoke all keys proactively, as we take these kinds of events extremely seriously.

What you should do:
- Immediately revoke and reissue all environment variables, including any API keys, stored in Railway.
- If you have any credentials on an external registry, [...]
- Review logs for those services for unusual activity.

Until builds are restored, you will not be able to roll out new versions. We apologize for this inconvenience. Follow this incident to be notified when builds resume and for further updates.
reconstructed from the most complete passes across seven overlapping OCR reads of the same card (7:31-7:55); the second bullet is cut off on screen in every frame, marked [...]. shown at 7:31
QUOTEwatchtowrcyber's embargo-leak tweet on PHP
We were all supposed to wait until Thursday at 11am ET.
Information has leaked wrt zero-day embargoed RCE vulns in PHP. We can confirm that they're real. CVE-[phone removed]/619
We cannot share further information right now. Take this seriously and apply patches when available.
transcribed verbatim from the tweet card at 4:35, attributed to @watchtowrcyber via the shown URL; the CVE digit string may be an OCR misread of 2026. shown at 4:35
QUOTEcyb3rops tweet on the PHP core RCE
Okay, since the news is already out: an RCE vulnerability in PHP core, CVSS 10.0. Further details are scheduled for release on October 20. Only PHP 8 will receive patches.
identical legible text confirmed across two frames (2:47 and 2:53), attributed via the on-screen x.com/cyb3rops URL. shown at 2:47
QUOTEhimanshu's tweet on Japan's PM and PHP
The Prime Minister of Japan is tweeting to apply the PHP fix patch.
WTF.
shown fully legible on screen at 0:12-0:14, attributed to @himanshustwts via the displayed handle and URL. shown at 0:12
How this brief was shaped: Breaking News · confidence Medium

The narrator explicitly unpacks three separate incidents from the same week (PHP emergency patch, Railway pausing all deployments, eMudhra certificate authority key compromise) and repeatedly separates confirmed facts from viral claims, saying the 70 percent figure is unconfirmed hype. OCR shows CVE numbers, a CISA advisory with release date and affected versions, and viral tweets being fact checked, matching the timeline and confirmed-vs-rumored signal of breaking news.

The lens sets this brief's structure, never its facts — every claim is held to the same citation and fact-check standard.

Jump to a moment
Their links, sorted & clickable
🔗 Other links7PHP security advisoryphp.netCISA alertcisa.govNode.js security releasesnodejs.orgRailway status, incident QH8L8B3Estatus.railway.comGoogle on the eMudhra intermediatesblog.googleMozilla Bugzilla 2083449bugzilla.mozilla.orgScott Helme on recovering the keysscotthelme.co.uk
← Back to Pulse Dashboard
Was this brief useful?