Railway:你的 .env 搭上了别人的车
Railway 称入侵者摸进了存放客户环境变量的系统,还解密了其中一部分
Railway 初步报告称,最多 1.85% 的工作区(约 10 万个)中的部分变量可能受影响。预防性的服务商重置涉及更多用户。现有用户的服务已恢复,应轮换存储的密钥,并重建被吊销的部署凭据。
- 披露时间
- 2026年10月21日
- 更新于 2026年10月27日
- 严重程度
- 化粪池炸了
- 无 CVE:这是入侵事件,不是漏洞
- 波及范围
- 10月21日前存储的密钥;厂商给出的上限为 1.85% 工作区(约 10 万个),预防性重置范围更广
- railway
- 在野利用
- 不适用
- 这是一次入侵;10月26日更新给出申诉流程,但没有公布已核实的滥用总量
一句话说清楚
你的托管平台有个上了锁的箱子,里面装着你所有的密码,好让应用随时取用。有人溜进了放箱子的房间,而且对部分客户来说,箱子已经被撬开了。
发生了什么
Railway 是一个很流行的 PaaS 平台。最初通知称在 2026年10月21日上午,存放客户环境变量的系统中出现了异常活动。通知还称,未经授权的一方可能访问了加密后的变量,而且其中一部分的解密内容也被拿到了。在 Railway 上,应用的 API 密钥、数据库密码和镜像仓库凭据都放在环境变量里,所以这实际上就是一个密钥库。
Railway 认为这次入侵属于最近一系列针对平台公司的攻击,攻击者的最终目标是 AI 推理服务商。Railway 说已经请这些上游服务商主动吊销密钥。最初通知未点名,初步报告现已列出 GitHub、GitLab、Anthropic、OpenAI、OpenRouter、SpaceXSI 和 Stripe 等收到通知的服务商。用量检查指南也覆盖 Grok。
Railway 在自己这边做了什么
- 在处置期间暂停新构建和部署,也包括更早的 10月20日中断。Enterprise 的构建在 10月22日 03:30 UTC 左右恢复,其他套餐随后分批恢复。
- 让 OAuth 会话失效(用户会被登出)。
- 重置了每个存储桶的 S3 凭据,以及 Railway 为账号关联持有的 GitHub 令牌,并删除了作为镜像仓库凭据存储的 GitHub 令牌。这些重置操作会以“Railway Staff”的名义出现在工作区审计日志里。
- 请上游服务商吊销密钥;最初通知未点名,初步报告现已列出其中多家。
你的第三方密钥,Railway 没法替你轮换:变量里的 Stripe 密钥、OpenAI 密钥和数据库密码,都得你自己换。而且容器只在启动时读取变量,所以换完密钥必须重新部署,可构建暂停期间偏偏部署不了。
为什么是 L4
Railway 说影响“可能仅限于部分用户”,却要求所有用户都去轮换。它确认至少有一部分客户的密钥被拿到了解密后的值。大型 PaaS 的多租户密钥库被攻破,就是一次大规模凭据泄露,而每一把泄露的密钥都能打开下游的另一个系统。所以定为 L4。如果确认被盗密钥遭到大规模滥用,级别还会上调。
还不清楚的地方
- 最初入口及具体漏洞细节仍未公开。初步报告说明了提权和 CI 凭据失陷,并补充了此前缺失的时间线。
- 具体哪些变量被解密仍未知,工作区上限不能回答这一点。服务商大范围吊销凭据,不代表每个被重置的凭据都已失陷。
- Railway 称未访问单个用户账号;尚不能排除源代码访问。
- 滥用情况。 Railway 现已给出针对 AI 欺诈费用的退款申诉流程,但该指引没有公布已核实的滥用数量,也没有将每笔可疑费用都归因于本次入侵;应检查自己各服务商的日志。
10月24日更正: Railway 10月22日初步报告取代了此前范围未知的说法:最多 1.85% 工作区(约 10 万个)的部分变量可能受影响。这是上限,不是已确认受害者总数。报告将攻击窗口设为 10月20日 13:58 UTC 至 10月22日 03:32 UTC,并称现有工作负载始终在线。所有套餐已重新接受构建。10月23日指南说明了如何补发错过的部署及替换被吊销的访问凭据;项目不见时,应使用原有登录身份。
10月27日更新: Railway 在 10月26日的更新中称,现有用户的服务已全面恢复,新用户注册仍暂停。服务恢复不能替代上述凭据轮换及部署恢复步骤。若怀疑产生 AI 欺诈费用,应先联系 AI 服务商,再通过 Railway Station 提交时间戳、提示词及支持证据,请 Railway 协助升级处理。Railway 无法退还第三方 AI 费用,愿意协助处理也不保证退款。本次更新没有给出已核实的下游滥用总量,也未证实更广泛的受害者数量。
案发时间线
10月20日 13:58 UTC
初步报告给出最早异常活动时间
这修订了最初通知中于 10月21日发现问题的说法。
10月21日 07:24 UTC
Railway 开始排查一次平台故障
控制台、API 和 CLI 全部宕掉,所有区域的构建暂停。状态页后来把安全通知并进了同一个事件里;初步报告现已说明,暂停构建属于安全事件处置措施。
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,分批恢复。
2026年10月22日
Railway 发布初步范围和控制结果
最多 1.85% 工作区、约 10 万个可能受影响;攻击者访问于 03:32 UTC 前终止。报告称所有套餐于 22:49 UTC 前恢复构建。
2026年10月23日
发布登录与部署恢复指南
错过的提交未排队;重试部署前须替换被吊销的 CLI 和 CI 凭据。
2026年10月26日
Railway 通报现有用户服务恢复,并补充 AI 费用申诉指引
新用户注册仍暂停。先向 AI 服务商申请退款,再向 Railway 提交支持证据以便升级处理。
各方说法
我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。
- 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 事件初步报告一手来源10月22日初步范围、攻击时间线、控制结果及套餐构建恢复情况;10月26日现有用户服务恢复及第三方 AI 费用申诉协助指引
- Railway 部署恢复指南一手来源错过的提交未排队;重新连接 GitHub,并替换被吊销的 CLI / CI 凭据
- Railway 账号恢复指南一手来源使用原账号身份登录;空控制台可能表示登录了另一个账号