Niel retweeted
If you deploy on Railway, take 30 minutes today and do this
The last ~24 hours have been rough for anyone on Railway, so here's a rundown of what happened and what you should actually do about it.
What happened (per Railway's status page)
- Oct 21, ~07:24 UTC: Railway started investigating an issue. Soon after, the dashboard, API and CLI went down, and builds were paused in every region. Their support site went down too.
- Most of the day: builds stayed paused while they worked through it. They logged everyone out, since some sign-in sessions were affected.
- ~22:00 UTC: they published a security disclosure. They told everyone to revoke all environment variables stored in Railway, including API keys and private registry credentials, and to check service logs for anything weird.
- Overnight: they rotated every storage bucket credential. They published guides for rotating Postgres, MySQL, MongoDB and Redis credentials, and for checking unusual usage on OpenAI, Anthropic, OpenRouter, Grok, Stripe, AWS, GCP and GitHub.
- Oct 22, ~04:17 UTC: they invalidated all Railway API tokens.
- Right now: builds are coming back in stages: Enterprise first, then Pro, Hobby, Free and Trial. The Redeploy button is disabled, and services with pre-deploy commands are getting stuck.
So it's not just an outage. Railway is telling you to assume your secrets are out there. Take that seriously.
What I'd do right now, in order
1. Move crypto funds first. If you ever put a wallet private key in a Railway env var (deployer, relayer, hot wallet, anything), make a new wallet and move the funds now. You can revoke an API key, but you can't take back a leaked private key. Check the address on an explorer too.
2. Rotate anything that costs money. OpenAI, Anthropic, Gemini, OpenRouter, Stripe, AWS, GCP, R2/S3 and so on. Revoke the old key at the provider rather than just in Railway, then check the usage and billing dashboards for charges you don't recognise.
3. Rotate database passwords. If you used Railway's Postgres, MySQL, Mongo or Redis, follow their guides to change the passwords. Look for users or data you didn't create.
4. Rotate your app's own secrets. JWT secrets, webhook secrets, internal API keys, OAuth client secrets. Yes, everyone gets logged out. Do it anyway.
⚠️ Careful with encryption keys. If you swap one without re-encrypting your data, the data encrypted with the old key becomes unreadable. Plan that one properly.
5. Clean up your Railway account.
- Run railway logout && railway login.
- Create new API tokens for CI, since the old ones are dead.
- Reconnect the GitHub integration, and check your GitHub security log and deploy keys for access you didn't grant.
- Look through Railway's audit log.
6. Redeploy when builds come back. Use Cmd/Ctrl+K → "Deploy Latest Commit" while the Redeploy button is down. Heads up: once you rotate keys at the provider, your running app breaks until that redeploy goes out.
An urgent notice from the Railway team
blog.railway.com/p/security-…
🚆 @Railway: a major outage and a security breach at the same time.
On Oct 21 an attacker may have accessed customer env variables, some of them decrypted. All deploys are paused, and Railway says rotate everything.
If you host there, rotate your keys and database passwords today.
It wasn't the only one this week:
🔑 OpenCode (Oct 17): AI provider keys saved in Console may have been exposed for about 1.4% of Console users.
🐘 PHP2Shell (Oct 21): two critical flaws in PHP itself. Update to 8.5.12, 8.4.27, 8.3.36 or 8.2.35.
🦊 GitLab (Oct 21): a CVSS 10.0 flaw lets attackers run code on self-managed servers without logging in. Patch now.
🟩 Node.js (Oct 21): 10 fixes, including a Brotli decoder RCE and TLS hostname bypasses. Update to 26.12.1, 24.22.1 or 22.23.4.
🌐 WordPress wp2shell (July): a core RCE on CISA's exploited list. Be on 6.9.5, 7.0.2 or 6.8.6 or later.
📦 LiteLLM (March): two PyPI releases stole SSH keys and cloud credentials. One unpinned dependency is all it takes.
If you're an early dev, do these now:
• Rotate your AI API keys
• Set hard spend limits and billing alerts
• One key per app, never shared
• Don't paste keys into third-party tools
• Pin versions, commit lockfiles
• Keep keys out of code and public repos
• Update anything facing the internet
A leaked key is someone else spending your money.
#buildinpublic #solodev #indiedev #CyberSecurity #DevSecOps #AI
Niel retweeted
So basically, today PHP got two critical bugs that let anyone run code on your server without even logging in, which is bad, and then the details leaked before the patch was even out, which is worse, and it works on WordPress and MediaWiki and Magento and Joomla and Laravel, and Censys says like 1.5 million servers are running a version with no fix, so the NSA was like "take your system offline," and the FBI was like "take your system offline," and CISA and the UK and CERT-EU were all like "take your system offline," and then the Prime Minister of Japan, the actual Prime Minister, posted at 5:55 in the morning telling 48.8 million people to take their system offline, so everyone took their system offline, like the Dutch cybersecurity agency took its own website offline, and the Dutch parliament went offline, and the Port of Rotterdam went offline, and Finland and France and Denmark started pulling government sites, and Wikipedia went down, and Archive.org went down, and Asana and GOG and Something Awful went down, and the University of Vienna's webmail went down for some reason, and that's just PHP. Because GitLab also dropped a CVSS 10.0, which is the highest score they give out, for a bug that's been there since 2014, so that's every self-hosted GitLab for twelve years, and then LiteLLM 1.107.0 got hijacked and shipped a credential stealer and a remote access trojan in every single wheel and the Docker images, including latest, and you didn't even have to import it, just installing it was enough, and it's the second time this year, and then Railway paused every deployment on the entire platform because someone got into the environment variables, so now everyone has to rotate every secret they've ever stored there, and TiDB Cloud said someone was walking around inside with stolen credentials for basically a month and an extortion group says they took 10.6 terabytes, and Zeabur got breached for the second time in two months and is just shutting down, like the whole company, and Node.js patched remote code execution and a TLS bypass, and CISA says Plex is being actively exploited, and someone took over 300 Tor exit relays to steal SSH passwords, and SafePay ransomware has hit over 600 critical infrastructure orgs, and India's biggest bank filed a data loss incident, and Japan has been in an official state of emergency in cyberspace since October 9, which honestly explains the 5:55 AM post. Oh, and eMudhra, a certificate authority that's issued over 60 million certificates, whose entire job is proving websites are who they say they are, was supposed to be using private keys that are random numbers over a hundred digits long, and one of them was 4. Just 4. And the others were like 66 and 237. Anyway, it's Wednesday.
Niel retweeted
Two critical vulnerabilities have been identified in PHP, a widely used programming language that powers websites and web applications. These vulnerabilities (CVE-2026-109618 and CVE-2026-109619) could allow malicious cyber actors to remotely execute code in PHP core, potentially compromising sensitive data and networks.
The FBI urges organizations to take the following steps now:
➡️ If an immediate update is not feasible it is recommended that organizations take the system offline until it can be fully mitigated.
➡️ Immediately update affected PHP installations following the guidance on php.net. Inventory where PHP runs in your environment, prioritizing internet-facing systems and vendor products that bundle PHP.
➡️ Monitor web servers for suspicious activity, including PHP processes unexpectedly launching command shells or downloading files. Ensure appropriate process-monitoring capabilities are in place to help identify potential exploitation.
➡️ If you find signs of compromise, isolate affected systems, preserve your web server and PHP logs, and report it to your local FBI field office or ic3.gov. Those reports help us identify the actors involved and warn other organizations before they become victims.
For the latest information, follow PHP’s announcement on php.net, CERT-EU Security Advisory 2026-018, and CISA’s Known Exploited Vulnerabilities catalog.
Niel retweeted
Every Indian needs to know about this because it is a massive deal for how we trust anything on the internet.
Let me explain.
When you open your bank's website, there's a small padlock next to the web address. That padlock means two things.
First, that you're talking to your real bank.
And second that nobody can read what you type, like your password.
So how does your browser know the website is real?
It checks the website's certificate. Think of it like an ID card for a website.
Your Aadhaar is trusted because the government issued it. A website's ID card is trusted because a certificate authority issued it.
A certificate authority, or CA, is a company that browsers like Chrome, Firefox and Safari already trust. If a CA says "yes, this really is this bank's website," your browser believes it and shows the padlock.
eMudhra is an Indian CA. It's a big one, with more than 60 million certificates issued over the years.
So how does a CA sign these ID cards?
Every CA has a secret number called a private key. It uses that number to put a stamp on each certificate.
Your browser checks the stamp to confirm it really came from that CA.
The whole system only works if that number is impossible to guess.
For the type of key in this story, it's supposed to be around 116 digits long.
Every computer on Earth working together for billions of years wouldn't be able to guess a number like that, just because of the sheer combinations that exist.
But here's what happened.
On October 17, Mozilla got a report that the private keys behind eight eMudhra certificates had been compromised.
The report came through a person called Wayne on Google's Chrome team.
The keys weren't 116 digits long.
All eight keys were smaller than 256. Security researcher Scott Helme found that one of them was just the number 4. Others were 66, 155, 156, 230 and 237.
So anyone could break them by trying 256 numbers. A basic laptop does that in less than a second.
Mozilla didn't need to know how Wayne did it. Its own team recovered the keys within two hours. Since then, several other people have found them on their own too.
To understand the gravity of the problem, a bad actor could make fake ID cards for any website they want.
Your bank, your email, a government portal.
Browsers that trusted eMudhra would have checked the fake stamp and shown the padlock like everything was fine.
If someone could get between you and the internet, say on public Wi-Fi, they could show you a fake site with a real-looking padlock and read or change what you send.
eMudhra says a script used during its key creation process back in April 2025 had a flaw. It made a second, much weaker set of keys, and those were used by mistake to create the certificates.
That means these weak keys were there for about a year and a half before anyone caught it. eMudhra says the person who found it may have used AI-assisted techniques.
The good news is that the response was fast.
Mozilla received the report at 8:06 pm UTC on October 17 and had pushed a block to Firefox users by 10:59 pm.
Google, Apple and Microsoft have also blocked these certificates for their users.
eMudhra revoked all eight the next morning and stopped issuing new certificates from the affected root.
Mozilla is now removing that root certificate from Firefox's trusted list altogether.
But there's still a lot of clean-up to do.
Browsers are mostly covered. But plenty of apps, servers and backend systems don't check these block lists. They need software updates to stop trusting the bad certificates, and some of those updates are still pending.
Real websites that used eMudhra are also affected. Yash Kadakia, founder of Security Brigade, estimates around 30,000 legitimate certificates will need to be moved over. A lot of those are likely Indian businesses and services.
See, we're moving our whole lives online, UPI, banking, tax filing, DigiLocker, government services.
All of it rests on this invisible layer of trust.
So, when an Indian company that's trusted by every major browser makes a mistake this basic, it hurts how the world sees Indian digital infrastructure.
This has happened before, and it went very badly.
In 2011, a Dutch CA called DigiNotar was hacked, and fake Google certificates were used to spy on people in Iran.
Browsers stopped trusting it completely, and the company shut down soon after.
For now, here's what you can do. Keep your browser and apps updated on your phone and laptop.
Be careful on public Wi-Fi. Type your bank's website address yourself instead of clicking links.
eMudhra still owes India a clear, public explanation of how a key that protects millions of people ended up being the number 4.
Niel retweeted
Baby Came today.
I’ve waited for this for a long time.
Thank God sha. That’s all I can say 😂
Niel retweeted
Crazy 72 hours in security. Three major incidents dropped back-to-back: eMudhra, PingCAP (TiDB Cloud), and PHP.
Here is the short version of what happened and who got hit.
1. eMudhra (Trusted CA compromise)
eMudhra generated 8 intermediate CA certificates in April 2025 (cross-signed by Sectigo). A bug in their HSM key-wrapping test script created a second set of P-384 keys where the private keys were single-byte numbers under 256. Operators picked the wrong key labels and signed them into real CA certs.
One of the intermediate CA private keys was literally the number 4.
The other seven: 56, 66, 115, 155, 156, 230, 237.
Three weeks later (May 2025), their CRL signatures started failing because the CRL signer was using the real keys instead of the weak ones. Instead of asking why the keys didn't match, someone switched the CRL signer to the weak keys and closed the ticket.
• Browsers are safe: Chrome, Firefox, Apple, and Microsoft already blocked them, and zero rogue certs hit CT logs.
• Servers are not: curl, Python (certifi), Go binaries, and Docker base images don't check CRLs. Update ca-certificates, certifi, and Go (1.27.3 / 1.26.10).
• 10-second check on any server:
curl dv-g3b-emudhra.we-have-a-pro…
(TLS error = safe. 200 OK = still vulnerable.)
2. PingCAP / TiDB Cloud (10.6 TB breach)
Attackers found GCP and Azure credentials committed inside PingCAP's own repos. They set up a replication feed of TiDB Cloud's production control plane and exported the entire database every 6 hours for 22 straight days. 88 full exports, zero alerts. 200 GB is already out on torrents.
Beyond the 413 private repos and 20.6M customer SQL queries logged from their web SQL Editor, PingCAP engineers were pasting customer secrets into Jira tickets.
Who is affected in the leaked records:
• Live credentials exposed in support tickets:
- Pinterest: AWS keys for their pingcap-logs S3 bucket
- CardX / Silverlake (NPCI-linked env): AWS admin key in a backup log with full access to 258 external S3 buckets
- DeBank: 38 presigned S3 URLs
- An unnamed AI/dev platform: a 314 MB slow-query log attached to a ticket containing 8,027 live customer secrets (an AWS root key, a GitHub admin PAT over 1,701 repos, 7,485 AWS STS tokens, and 192 OpenAI/Anthropic/Gemini keys)
• Tenants with infra metadata, VPC CIDRs, app-server IPs, or contract pricing exposed:
- Tech: Atlassian, Databricks, Airbnb, Baidu, LINE, Nylas, Persona, PatSnap
- E-comm & Travel: Booking.com, Shopee, Flipkart, Mercari, ZOZO, AEON, Delhivery, Klook
- Gaming: Capcom, Square Enix, Konami, Bandai Namco, Cygames, Colopl, DMM
- Finance: PayPay, SoftBank, SBI, SB Payment Service, Fujitsu, TOPPAN, Bank of China, China Life
- Crypto: Bitget (said only public trade logs were on it and they already left), Pionex, DigiPlus, NFTscan, Chainbase
• Developer profiles leaked (from a purchased reo.dev table in PingCAP's BigQuery):
- 24,900 personal emails + GitHub/LinkedIn profiles of engineers at Tencent (3,327), Huawei (2,726), ByteDance (2,475), AIG (2,140), Mastercard, Flipkart, and bKash.
If you use TiDB Cloud: rotate your console API keys, DB passwords, and anything you ever pasted into a support ticket.
3. PHP "PHP2Shell" (CVE-2026-109618 & CVE-2026-109619)
Two CVSS 9.2 pre-auth RCEs leaked yesterday ahead of today's 14:00 UTC patch.
Public writeups trace it to a heap Use-After-Free in PHP's native C multipart/form-data session upload-progress handler (ext/session/session.c).
Because C-level multipart parsing runs before line 1 of index.php:
• App auth, Laravel/WordPress middleware, and file_uploads = Off do not stop it.
• Only PHP 8.2–8.5 get official patches today (59% of PHP servers on Shodan are on EOL <= 8.1).
• Until you patch php-fpm: lock php_admin_flag[session.upload_progress.enabled] = off and block unexpected multipart requests at Nginx/Apache/Cloudflare.
Niel retweeted
Hey, it is Wednesday
OpenCode hacked
eMudra had picked a private key value of 4, thus everything is now deemed unsafe.
PHP, running 70% of the internet, has an insane hack...
Happy getting internet getting humped day
a critical vulnerability was just discovered in PHP. the language that runs 80% of the internet
severity score: 9.2 out of 10. that’s about as bad as it gets
what can an attacker do with this? take full admin control of a server. steal entire databases. passwords, credit cards, payment histories. plant malware and use the server to attack other systems
but here’s the terrifying part that most people missed
the moment the patch drops tonight attackers are expected to use AI to reverse engineer what was fixed within 15 minutes
15 minutes. that’s the window between the fix going live and automated attacks launching worldwide
every online store, booking site, and corporate system running PHP that doesn’t update in those 15 minutes becomes a target
this isn’t just a developer problem. if you’ve ever signed up to a website, entered your card details, or created an account online your data is sitting on servers that might be vulnerable right now
and someone just publicly dropped the working exploit on twitter before the patch was even ready. gave every attacker on earth a head start
engineers worldwide are pulling all-nighters tonight to patch their systems before the attacks begin
change your passwords on any service that matters to you. enable 2FA everywhere. and watch out for fake “maintenance” or “password reset” emails over the next few days
the internet is about to have a very long night
Niel retweeted
Xavi Espart made his official Barça debut against Newcastle in the orange kit and scored his first-ever Champions League goal in the same kit 🍊
Niel retweeted
To put what Espart is doing into perspective, get this:
• He starts preseason in the pivot and looks absolutely sublime. A midfielder by trait, and it couldn’t have been more obvious.
• Then the season starts. Balde’s situation gets messy, Cancelo arrives late in the window and isn’t sharp yet, and… Flick turns to Espart.
Mind you, he’d effectively never played at LB before. Yet, you’d assume he’d spent years there as a seasoned pro. Objectively bonkers from day 1.
• Now, for the icing on the cake: an away trip to PSG, an injury crisis at the back, and not a single available RB. Flick, naturally, turns to Espart again. His assignment? Just one of the best left wingers in the world. Arguably the best.
Espart proceeds to boss him defensively, then pops up at the other end to score a sublime goal. Because apparently, shutting down his flank wasn’t enough.
Are you still with me? Are we appreciating the absurdy of it all?
Nineteen. In his debut season…
Niel retweeted
Not just PHP. Node.js has also announced security releases for October 21, with HIGH-severity vulnerabilities affecting its 26.x, 24.x and 22.x release lines.
If you run either stack in production, keep an eye on official advisories and apply patches promptly.
Security maintenance doesn't stop at your application code. Your runtime matters too.
Node.js advisory: nodejs.org/en/blog/vulnerabi…
Effective Immediately, all organizations using PHP for their systems are advised to be prepared for an update addressing two critical vulnerabilities. PHP is widely used for web applications. These vulnerabilities often provide a direct path to the server's file system or database. If an immediate update is not feasible, it is recommend that organizations take the system offline until it can be fully mitigated. NSA will follow up shortly with more specific guidance.
So let me get this straight 😂
Hernández Hernández was APPOINTED to referee El Clásico.
His appointment gets LEAKED, Mourinho cries about it, and suddenly the committee REMOVES him?
And they still have the audacity to say Barça controls the refs?
WHO IS CONTROLLING THE REFS NOW? WhiteLeaks FC at it again.
This club doesn't just play on the pitch, they play in the offices too.
LaLiga's drama club = Real Madrid.
🚨 𝗡𝗘𝗪: Hernández Hernández will NOT referee El Clásico!
The Referees Committee had initially selected him to officiate the match between Real Madrid and Barcelona.
However, following the LEAK of his appointment, José Mourinho objected to the decision.
The committee then decided to REMOVE Hernández Hernández from the match!
— @marca
































