中文
L4 · Septic Tank BlewPaaS · secrets · credentials · supply chainrailway-env-vars

Railway: your .env went for a ride without you

Railway says an intruder reached the store holding customer environment variables and decrypted some of them

Railway detected unusual activity in the systems that store customer environment variables. An unauthorized party may have read encrypted variables and, for some, the decrypted values. Railway paused all deploys, reset bucket and GitHub credentials, and tells every user to rotate every secret.

Disclosed
Oct 21, 2026
Public disclosure date
Severity
Septic Tank Blew
No CVE: a breach, not a bug
Splash zone
Every Railway user with secrets in environment variables; Railway says a subset was hit but won't say who yet
railway
In the wild
Not applicable
An intrusion, not a bug; no misuse of stolen secrets confirmed publicly yet

The one-sentence version

Your hosting provider keeps a locked box of all your passwords so your apps can use them. Someone got into the room with the box, and for some customers they got it open.

What happened

Railway, a popular platform-as-a-service, says that on the morning of October 21, 2026 it detected unusual activity in the systems that store customer environment variables. Its investigation so far says an unauthorized party may have accessed the encrypted variables and, for some of them, obtained the decrypted contents. On Railway, environment variables are where apps keep their API keys, database passwords and registry credentials, so this is effectively a secrets store.

Railway believes the intrusion is part of a recent series of attacks on platform companies whose goal is to get at AI inference providers. It says it has asked those upstream providers to revoke keys proactively. It has not named them, but its own follow-up guides cover OpenAI, Anthropic, Grok and OpenRouter usage checks.

What Railway did on its side

  • Paused all builds and deployments, Enterprise included, from the morning of Oct 21. Builds came back for Enterprise around 03:30 UTC on Oct 22, with other plans following in stages.
  • Invalidated OAuth sessions (users get logged out).
  • Reset every storage bucket’s S3 credentials and the GitHub tokens Railway held for account connections, and removed GitHub tokens stored as registry credentials. These resets show in workspace audit logs under “Railway Staff”.
  • Asked upstream (unnamed) providers to revoke keys.

Railway can’t rotate your third-party secrets for you: the Stripe key, the OpenAI key and the database password in your variables are yours to roll. And because containers only read variables at startup, any rotation needs a redeploy, which was impossible while builds were paused.

Why L4

Railway says the impact “may be limited to a subset of users”, yet tells all users to rotate. It confirms that decrypted secrets were obtained for at least some customers. A breach of a multi-tenant secrets store at a large PaaS is a mass credential leak, and each leaked key opens a different downstream system. That is L4. It would move up if large-scale abuse of the stolen keys were confirmed.

What’s still unclear

  • How the attacker got in (stolen employee or service credential, vendor, bug) and when the intrusion actually started. Railway has only said when it detected it.
  • How many customers or variables were affected, and which ones were decrypted. Railway will email confirmed accounts, but has given no number.
  • How encrypted values became readable, and therefore whether rotating secrets alone closes the path the attacker used.
  • Whether the outage that started at 07:24 UTC was caused by the attack or by the response. Railway’s status page tracks both under one incident but doesn’t say.
  • Misuse. No public report yet confirms that a stolen Railway secret was used. Absence of reports is not evidence of absence: check your own provider logs.

Crime-scene timeline

  1. Oct 21, 07:24 UTC

    Railway starts investigating a platform outage

    Dashboard, API and CLI go down and builds are paused in all regions. The status page later folds the security notice into this same incident; Railway has not said how the two are connected.

  2. Oct 21, 2026 (morning)

    Anomalous activity detected in the env-var storage systems

    Railway's notice says it detected the activity "earlier this morning". No start time for the intrusion has been published.

  3. Oct 21, 20:19 UTC

    OAuth sessions invalidated

    Railway cites impact on "adjacent cache systems"; users are signed out.

  4. Oct 21, 22:10 UTC

    Security notice published

    Railway tells all users to roll every variable and registry credential. Deploys stay paused, Enterprise included.

  5. Oct 21, 22:37 UTC

    Railway starts rotating all storage bucket credentials

  6. Oct 22, 02:19 UTC

    Step-by-step guides published

    Database rotation (Postgres, MySQL, MongoDB, Redis) and usage checks for AWS, GCP, GitHub, Stripe, OpenAI, Anthropic, Grok and OpenRouter.

  7. Oct 22, 03:32 UTC

    Builds return for Enterprise workspaces

    Pro, Hobby, then Free and Trial follow in stages.

Who said what

We list each claim and who made it. Primary sources (the vendor, the researcher, the registry) are marked. Where reports disagree, we grade by the worst credible case.