Railway:你的 .env 搭上了别人的车
Railway 称入侵者摸进了存放客户环境变量的系统,还解密了其中一部分
Railway 在存放客户环境变量的系统里发现了异常活动。未经授权的一方可能读取了加密后的变量,其中一部分还拿到了解密后的值。Railway 暂停了所有部署,重置了存储桶和 GitHub 凭据,并要求所有用户轮换全部密钥。
- 披露时间
- 2026年10月21日
- 公开披露日期
- 严重程度
- 化粪池炸了
- 无 CVE:这是入侵事件,不是漏洞
- 波及范围
- 所有在环境变量里放了密钥的 Railway 用户;Railway 说只有一部分人中招,但还没说是谁
- railway
- 在野利用
- 不适用
- 这是一次入侵,不是漏洞;目前还没有公开确认被盗密钥遭到滥用
一句话说清楚
你的托管平台有个上了锁的箱子,里面装着你所有的密码,好让应用随时取用。有人溜进了放箱子的房间,而且对部分客户来说,箱子已经被撬开了。
发生了什么
Railway 是一个很流行的 PaaS 平台。它称在 2026年10月21日上午,存放客户环境变量的系统中出现了异常活动。目前的调查显示,未经授权的一方可能访问了加密后的变量,而且其中一部分的解密内容也被拿到了。在 Railway 上,应用的 API 密钥、数据库密码和镜像仓库凭据都放在环境变量里,所以这实际上就是一个密钥库。
Railway 认为这次入侵属于最近一系列针对平台公司的攻击,攻击者的最终目标是 AI 推理服务商。Railway 说已经请这些上游服务商主动吊销密钥。它没有点名是哪几家,但它自己后续发布的指南里,包含了 OpenAI、Anthropic、Grok 和 OpenRouter 的用量检查。
Railway 在自己这边做了什么
- 从 10月21日上午起暂停所有构建和部署,Enterprise 也不例外。Enterprise 的构建在 10月22日 03:30 UTC 左右恢复,其他套餐随后分批恢复。
- 让 OAuth 会话失效(用户会被登出)。
- 重置了每个存储桶的 S3 凭据,以及 Railway 为账号关联持有的 GitHub 令牌,并删除了作为镜像仓库凭据存储的 GitHub 令牌。这些重置操作会以“Railway Staff”的名义出现在工作区审计日志里。
- 请上游(未具名的)服务商吊销密钥。
你的第三方密钥,Railway 没法替你轮换:变量里的 Stripe 密钥、OpenAI 密钥和数据库密码,都得你自己换。而且容器只在启动时读取变量,所以换完密钥必须重新部署,可构建暂停期间偏偏部署不了。
为什么是 L4
Railway 说影响“可能仅限于部分用户”,却要求所有用户都去轮换。它确认至少有一部分客户的密钥被拿到了解密后的值。大型 PaaS 的多租户密钥库被攻破,就是一次大规模凭据泄露,而每一把泄露的密钥都能打开下游的另一个系统。所以定为 L4。如果确认被盗密钥遭到大规模滥用,级别还会上调。
还不清楚的地方
- 攻击者怎么进来的(员工或服务凭据被盗、供应商、漏洞),以及入侵实际从什么时候开始。Railway 只说了什么时候发现的。
- 多少客户或变量受到影响,哪些被解密了。Railway 会给确认受影响的账号发邮件,但没有给出数字。
- 加密的值是怎么变得可读的,也就是说,光轮换密钥能不能堵上攻击者用的那条路。
- 07:24 UTC 开始的那次故障,到底是攻击造成的,还是应急处置造成的。Railway 的状态页把两件事放在同一个事件下跟踪,但没有说明。
- 滥用情况。 目前还没有公开报告确认哪个被盗的 Railway 密钥被人用过。没人报告不代表没发生:去查你自己各服务商的日志。
案发时间线
10月21日 07:24 UTC
Railway 开始排查一次平台故障
控制台、API 和 CLI 全部宕掉,所有区域的构建暂停。状态页后来把安全通知并进了同一个事件里;两者到底有什么关系,Railway 没有说。
2026年10月21日(上午)
存放环境变量的系统中发现异常活动
Railway 的通知说是“今天上午早些时候”发现的。入侵从什么时候开始,至今没有公布。
10月21日 20:19 UTC
OAuth 会话被强制失效
Railway 称“相邻的缓存系统”也受到了影响;用户被强制登出。
10月21日 22:10 UTC
发布安全通知
Railway 要求所有用户轮换每一个变量和镜像仓库凭据。部署继续暂停,Enterprise 也不例外。
10月21日 22:37 UTC
Railway 开始轮换所有存储桶凭据
10月22日 02:19 UTC
发布分步操作指南
包括数据库密码轮换(Postgres、MySQL、MongoDB、Redis),以及 AWS、GCP、GitHub、Stripe、OpenAI、Anthropic、Grok 和 OpenRouter 的用量检查。
10月22日 03:32 UTC
Enterprise 工作区恢复构建
随后 Pro、Hobby,再到 Free 和 Trial,分批恢复。
各方说法
我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。
- Railway blog: Security Disclosure, Wednesday October 21st一手来源加密变量可能已被访问,其中一部分已被解密;很可能属于一系列冲着 AI 推理服务商去、针对平台公司的攻击;影响可能仅限于部分用户
- Railway 状态页(事件 QH8L8B3E)一手来源07:24 UTC 起服务中断,OAuth 会话失效,所有存储桶凭据已轮换,构建分批恢复
- Railway blog: Redeploy Buckets and Reconnect GitHub After the Credential Reset一手来源Railway 重置了所有存储桶的 S3 密钥和它持有的 GitHub 令牌;作为镜像仓库凭据存储的 GitHub 令牌,在用户自己吊销之前依然有效
- Railway 官方 X 账号一手来源官方账号发布了紧急安全通知
- Cybersecurity News没有披露受影响的账号数量、攻击者身份或入侵手段;没有确认的滥用
- StartupHub.ai指出 Railway 没说加密的值是怎么变得可读的,也没说通知了哪些服务商