CVE Index中文
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's preliminary report says variables were potentially compromised in at most 1.85% of workspaces (about 100,000). Precautionary provider resets affected more users. Services are restored for existing users; rotate stored secrets and recreate revoked deployment credentials.

Disclosed
Oct 21, 2026
Updated Oct 27, 2026
Severity
Septic Tank Blew
No CVE: a breach, not a bug
Splash zone
Secrets stored before Oct 21; vendor upper bound is 1.85% of workspaces (~100,000), with broader precautionary resets
railway
In the wild
Not applicable
An intrusion; the October 26 update gives a claims process, not verified misuse totals

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, initially said that on the morning of October 21, 2026 it detected unusual activity in the systems that store customer environment variables. That initial notice said 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. The initial notice did not name them; its preliminary report identifies GitHub, GitLab, Anthropic, OpenAI, OpenRouter, SpaceXSI and Stripe among notified providers. Its usage-check guides also cover Grok.

What Railway did on its side

  • Paused new builds and deployments during triage, including earlier October 20 interruptions. 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 providers to revoke keys; the initial notice left them unnamed, and the preliminary report now identifies several.

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

  • Initial entry and exact exploit details remain undisclosed. The preliminary report describes privilege escalation and compromised CI credentials.
  • Exactly which variables were decrypted remains unknown; the workspace upper bound does not answer that. Broad provider revocations do not establish compromise of every reset credential.
  • Railway says individual user accounts were not accessed; source-code access is still not ruled out.
  • Misuse. Railway now gives a process for customers seeking refunds for fraudulent AI spend. That guidance does not publish a verified misuse count or attribute every suspicious charge to this intrusion; check your own provider logs.

Correction, October 24: Railway’s October 22 preliminary report supersedes the earlier unknown-scope account: at most 1.85% of workspaces (about 100,000) potentially had variables compromised. This is an upper bound, not a confirmed-victim total. It dates the attack window to October 20, 13:58 UTC through October 22, 03:32 UTC, and says existing workloads stayed online. All plan tiers accept builds again. The October 23 guides explain how to catch up missed deployments and replace revoked access; use the original login identity if projects appear missing.

Update, October 27: Railway’s October 26 update says services are fully restored for existing users, while new signups remain paused. Recovery does not replace the credential rotation and deployment-recovery steps above. For suspected fraudulent AI charges, contact the AI provider first, then submit timestamps, prompts and supporting proof at Railway Station for escalation. Railway cannot refund third-party AI spend, and its escalation offer is not a refund guarantee. No verified downstream-abuse total or broader victim count is established by this update.

Crime-scene timeline

  1. Oct 20, 13:58 UTC

    Preliminary report dates the first abnormal activity

    This revises the initial notice's October 21 discovery account.

  2. 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. The preliminary report now links build pauses to security triage.

  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.

  8. Oct 22, 2026

    Railway publishes preliminary scope and containment findings

    At most 1.85% of workspaces, about 100,000, potentially affected; attacker access ended by 03:32 UTC. The report says all plan tiers resumed builds by 22:49 UTC.

  9. Oct 23, 2026

    Login and deployment recovery guides published

    Missed commits were not queued; revoked CLI and CI credentials must be replaced before retrying deployments.

  10. Oct 26, 2026

    Railway reports existing-user restoration and adds AI-spend guidance

    New signups remain paused. Ask the AI provider about refunds first, then submit supporting evidence to Railway for escalation.

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.