Platform breachRailwaySecrets exposed

Railway Environment-Variable Breach. Rotate. Hunt. Contain.

An attacker accessed encrypted customer environment variables on Railway and decrypted some of them, exposing API keys, database credentials and private registry credentials. Clear steps for businesses, internal IT teams and MSPs to find exposed services, rotate every secret and hunt for misuse.

At a Glance

Facts from Railway's disclosure, status page and guidance. Last updated 22 October 2026, 13:30 BST.

Before disclosure (unverified)

A researcher reports crypto wallets with keys stored on Railway drained, the first theft at least two hours before disclosure.

21 Oct

Railway publishes its security disclosure: encrypted environment variables accessed and some decrypted.

21 to 22 Oct

Railway rotates storage bucket credentials, invalidates Railway API tokens, resets GitHub tokens and asks upstream providers to revoke keys.

22 Oct

Builds back for Pro and Enterprise. Hobby, Free and Trial being restored. Railway emails confirmed affected customers.

Now

Rotate every variable, reconnect GitHub, redeploy bucket users, then hunt cloud, AI and database logs for misuse.

What to Do in the Next 24 Hours

Proactive on the left. Reactive on the right. Tick both tracks.

Proactive: Find Exposure and Rotate

Work through every Railway workspace you are responsible for. Railway recommends rotating every variable, not only the ones that look sensitive.

Free Checker Scripts

Built by the CybaVerse threat hunt team. Run them against your own Railway workspaces and cloud accounts, or every client you manage, to get a rotation checklist and a clear verdict.

Read-only by design

The scripts only read. The Railway checker sends GraphQL queries and refuses mutations, and the AWS checker only lists IAM users and keys. They change nothing and write only local report files. Rotation and revocation stay with you. Review any script before you run it.

Verdicts

  • 0Nothing found that needs action.
  • 1Action needed: secret-like variables or new IAM users or keys found. Rotate and investigate.
  • 2Unknown or partial: for example CLI mode covers only the linked project.
  • 3Error, including no credentials. The result is unknown.

Exit codes

CodeMeaning
0Nothing found
1Action needed
2Unknown or partial
3Error

MSPs and internal IT teams can use the exit code in RMM or deployment tooling to flag hosts at scale.

Know the limits

  • Behaviour-based only. Railway has published no IOCs, so nothing here matches known attacker infrastructure.
  • The wallet address comes from one researcher and is unverified by Railway.
  • The 14 October lookback start is a CybaVerse assumption, not a Railway date. Widen it if your logs allow.
  • The KQL has not been run on a live tenant and the checkers were tested against mocks only. Validate table and column names first.
  • The Railway checker needs a newly created token, since all old tokens were invalidated. Name matching is heuristic, so rotate everything anyway.

Reactive: How to Hunt

Treat any use of a secret that lived on Railway from an unexpected source as an incident. Rotation stops new misuse, but IAM users, keys or projects an attacker created stay in place until you remove them. CybaOps can run these hunts across your estate or your clients'.

What indicators exist

There are no official IOCs, so hunting is behaviour-based. The wallet address comes from one independent researcher and has not been confirmed by Railway. A match needs investigation in context, and a clean search does not rule out exposure.

# Railway has published NO indicators of compromise: no IPs, domains, hashes or user agents.
# Root cause and the start of the exposure window are also not published.

# Researcher-reported only (Taylor Monahan). UNVERIFIED. Not mentioned by Railway.
# Wallet that received funds drained from crypto wallets whose keys were stored on Railway:
0xd9773325282874d18cb83f1fe50f14c39750b2ee

# Hunt window used in the CybaVerse pack (our assumption, not a Railway date):
2026-10-14T00:00:00Z to now

Railway Breach FAQ

Short answers based on Railway's disclosure and status page as of 22 October 2026.

What happened at Railway?

Railway says an attacker accessed encrypted customer environment variables and decrypted some of them, exposing API keys, database credentials and private registry credentials. There is no CVE. Root cause has not been published.

Am I affected?

Only some customers were affected and Railway has not said how many. Railway is emailing confirmed affected customers, but any secret stored in a Railway variable should be rotated whether or not you get an email.

Has the stolen data been used?

Independent researcher Taylor Monahan reports that crypto wallets whose keys were stored on Railway were drained, with the first theft at least two hours before disclosure. This is unverified by Railway.

What has Railway done?

Railway rotated storage bucket credentials, invalidated Railway API tokens, reset GitHub tokens and asked upstream providers to revoke keys. Builds are back for Pro and Enterprise, and Hobby, Free and Trial are being restored.

Are there IOCs to search for?

No. Railway has not published IPs, domains, hashes or an exposure start date, so hunting is behaviour-based: new IAM users and keys, unfamiliar projects, AI usage spikes and unknown database logins.

What should MSPs do first?

List every client service on Railway, rotate every variable at the issuing system, create new Railway tokens, reconnect GitHub, then hunt AWS, GCP, AI and database logs for each client.

Detect and Remediate Railway Exposure Across Your Estate

CybaOps monitors cloud, identity and application activity across every environment you look after, whether that's your own business or your clients'. Our SOC runs these threat hunts, alerts on new IAM users and keys, AI usage spikes and unknown logins, and drives remediation through to a verified fix, so proactive checks and reactive response happen in one place.