每日全球网络威胁情报摘要|2026 年 7 月 30 日
本期威胁情报聚焦 Ruby on Rails CVE-2026-66066 任意文件读取、Gitea CVE-2026-60004 Git Hook 命令执行、Minnesota 供水系统协调式攻击、Ruflo MCP Bridge RCE,以及 Firefox CVE-2026-10702。
- ⚡ 每日全球网络安全威胁情报摘要|2026 年 7 月 30 日
- 📝 执行摘要 — 10 秒速览
- 🚨 重大事件
- 1. CVE-2026-66066:Rails Active Storage 任意文件读取可扩大至应用接管
- 2. CVE-2026-60004:Gitea Diff Patch 可建立恶意 Git Hook
- 3. Minnesota:30 多个社区供水系统遭协调式攻击锁定
- 🤖 AI/MCP 安全
- 4. CVE-2026-59726:Ruflo MCP Bridge 无需身份验证的 RCE 与 AgentDB Poisoning
- 🧪 延续性技术研究
- 5. CVE-2026-10702:Firefox JIT 漏洞与 Android Root Chain
- 🔐 数据泄露/勒索软件
- 👀 值得追踪
- ✅ 今日优先行动
- P0|立即处理
- P1|未来 24–72 小时
- P2|本周内
- 📌 最终评估
⚡ 每日全球网络安全威胁情报摘要|2026 年 7 月 30 日
覆盖窗口:2026 年 7 月 29 日 08:00 至 7 月 30 日 08:00(UTC+8) 对象:CISO、SOC、Application Security、DevSecOps、AI Security、OT Security 与 APAC 防御团队
本期只纳入覆盖窗口内首次披露,或在窗口内出现重大技术、官方确认、受影响范围或运营风险更新的事件。
官方安全公告、政府及地方机构声明、原始研究获优先采用。厂商确认、公开 PoC、研究人员展示、媒体跟进及分析师推断,均按不同证据层级分开呈现。
📝 执行摘要 — 10 秒速览
🔴 Ruby on Rails CVE-2026-66066 可令未经身份验证的攻击者读取服务器任意文件。 受影响应用使用 Active Storage、libvips,并接受不可信图片上传。攻击者若取得
secret_key_base、Rails 主密钥、数据库或云端凭据,风险可扩大至会话伪造、应用接管及横向移动。🔴 Gitea CVE-2026-60004 可把普通代码仓库写入权限转化为主机命令执行。 攻击者可利用
diffpatch流程,在临时裸仓库中建立 Git Hook;开放注册会让外部访客更容易自行取得账户和代码仓库。🔴 超过 30 个 Minnesota 社区供水系统遭协调式攻击锁定。 事件发生于 7 月 26–27 日;本窗口的重要更新是整体受影响范围获公开报道。现有数据尚未证明所有被锁定系统均遭成功入侵。
🔴 Ruflo CVE-2026-59726 的完整 MCP 攻击链进一步公开。 旧版预设 Docker Compose 配置曾将无需身份验证的 MCP Bridge 与 MongoDB 绑定至所有网络接口,可导致 容器 Shell、API 密钥窃取、AgentDB 投毒及对话数据泄露。
🟠 Firefox CVE-2026-10702 属于延续性技术研究。 Mozilla 早于 6 月 2 日完成修复,Nebula Security 于 7 月 10 日发布原始研究;本窗口的新内容主要是媒体进一步整理 Firefox、Tor Browser 与 Android exploit chain 的影响。
🚨 重大事件
1. CVE-2026-66066:Rails Active Storage 任意文件读取可扩大至应用接管
官方披露日期: 2026 年 7 月 29 日 套件: Active Storage CVSS v4.0: 9.5 — Critical 利用状态: 官方公告与初步研究已公开;完整攻击链及 PoC 暂未披露 真实环境利用: 未见官方确认 分析师运营优先级:🔴 Critical
Rails 官方指出,使用 Active Storage、libvips 并接受不可信图片上传的应用,可能被攻击者通过特制上传文件触发不安全的 libvips operations。
攻击者可读取 Rails 进程能够访问的任意文件和进程环境。部分受影响的 libvips operations 处理的格式与一般 Web 图片无关,因此攻击 payload 不一定是正常可显示的 JPEG、PNG 或 GIF。
受影响条件
应用同时符合以下条件时受到影响:
- 使用 libvips 作为 Active Storage 图像处理器;
- 接受不可信用户的图片上传;
- 使用受影响的 Rails/Active Storage 版本。
Rails 官方特别指出:
Generating variants is not a separate requirement.
因此,只停用某个显式的变体生成工作流,不能视为可靠修复。
受影响与修复版本
| Rails/Active Storage 分支 | 处置 |
|---|---|
| Rails 7.2 | 升级至 7.2.3.2 或以上 |
| Rails 8.0 | 升级至 8.0.5.1 或以上 |
| Rails 8.1 | 升级至 8.1.3.1 或以上 |
| Rails 7.1、7.0、6.x 或更早版本 | 官方未列出相应旧分支 backport;应升级整个 Rails stack 至受支持的修复分支 |
使用旧版 Rails 的团队不应只在既有应用中单独替换 activestorage gem。Active Storage 与其他 Rails 组件 通常需要维持相容版本,应测试并升级完整 Rails stack。
此外,libvips 必须为 8.13 或以上版本。libvips <8.13 无法停用不安全的 未模糊测试的操作,单纯升级 Rails/Active Storage 并不足够。
为何文件读取可能造成更大影响
Rails 进程通常可以读取:
secret_key_base;config/master.key或RAILS_MASTER_KEY;- 加密凭据解密后的密钥;
- 数据库凭据;
- S3、GCS 或 Azure Storage 凭据;
- 云工作负载凭据;
- SMTP 凭据;
- OAuth 密钥;
- 第三方 API 令牌。
成功取得这些数据后,攻击者可能:
- 伪造或解密 Cookie;
- 接管现有会话;
- 伪造 签名 Global ID;
- 访问 Active Storage 对象;
- 直接登录数据库或对象存储;
- 访问其他 SaaS 或云服务;
- 在特定配置中把文件读取链接至 RCE。
立即行动
将 Rails/Active Storage stack 升级至相容的修复版本。
确认所有生产镜像、容器及工作进程使用 libvips ≥8.13。
无法立即升级 Rails/Active Storage stack 时:
- 若使用 libvips 8.13+,设置
VIPS_BLOCK_UNTRUSTED环境变量,例如:
- 若使用 libvips 8.13+,设置
VIPS_BLOCK_UNTRUSTED=1
- 若使用 ruby-vips 2.2.1+,可在 initializer 中执行:
Vips.block_untrusted(true)
若使用 libvips
<8.13:- 官方临时缓解措施: 移除 libvips/ruby-vips 依赖;
- 紧急遏制措施: 在完成修复或移除 dependency 前,全面停止所有不可信图片上传,并确保 Web UI、API、直接上传 及背景处理路径均被封锁。
不要把 WAF、MIME 类型检查或停用部分 variants 当成完整修复。
修复后,将 Rails 进程可读取的所有密钥视为可能已泄露并进行轮换:
secret_key_base;- Rails 主密钥;
- 加密凭据中的全部密钥;
- 数据库凭据;
- 云服务/对象存储凭据;
- SMTP、OAuth 及第三方 API 令牌。
更换
secret_key_base后,应预期:- 用户需要重新登录;
- encrypted/signed cookies 失效;
- 签名 Global ID 失效;
- 旧 Active Storage URLs 失效。
不应把可能已泄露的旧密钥保留为后备值。
主要来源
- Ruby on Rails Security Announcement
- Rails GitHub Security Advisory — GHSA-xr9x-r78c-5hrm
- Ethiack — KindaRails2Shell
2. CVE-2026-60004:Gitea Diff Patch 可建立恶意 Git Hook
官方 advisory 日期: 2026 年 7 月 28 日
受影响版本: Gitea >=1.17, <1.27.1
修复版本: Gitea 1.27.1
严重程度: Critical
利用状态: 官方 PoC 已公开
真实环境利用: 未见官方确认
分析师运营优先级:🔴 Critical for exposed or open-registration instances
Gitea 的 diffpatch endpoint 会在共享的 裸临时克隆仓库 中应用用户提交的补丁。
攻击者重复提交特制补丁,可制造 Git add/add collision,令 Git 的 three-way fallback 将 可执行条目 写入:
hooks/post-index-change
由于 裸仓库的根目录 即 $GIT_DIR,该文件会成为真正的 Git hook。Git 更新 index 时会触发 hook,令攻击者以 Gitea 服务账户权限执行 Shell 命令。
必要利用条件
成功利用需要:
- 对至少一个代码仓库拥有普通写入权限;
- Git 2.32 或以上;
diffpatchroute 已启用;- Gitea 临时文件系统可写入并可执行。
开放注册只影响没有既有账户的攻击路径。若 开放注册 已启用,外部访客可自行建立账户和代码仓库,进而取得 写入权限;但开放注册并非所有利用情境的必要条件。
潜在影响
攻击者可能访问:
app.ini;- Gitea 应用密钥;
- Process environment;
- Mounted 代码仓库;
- 数据库凭据 及内容;
- OAuth/SSO credentials;
- Webhook 及 integration secrets;
- 软件包注册表凭据;
- Gitea 可接触的内部服务。
官方 PoC 不需要 outbound reverse shell。攻击者可把命令输出储存在 Git 对象,建立包含结果的新 branch,再经 authenticated smart HTTP 读回。
因此,只监察外部 C2 或 反向 Shell 流量 可能完全漏报。
立即行动
升级至 Gitea 1.27.1 或以上。
盘点 生产、预发布、灾难恢复、内部开发及测试实例。
修复前:
- 停用开放注册;
- 限制 代码仓库创建;
- 收紧 写入权限;
- 限制
diffpatchAPI 的外部访问。
在确认不影响正常 Git 操作 后,可把 Gitea 临时文件系统 设为
noexec,作为修复前的 纵深防御。此措施不能取代版本升级。威胁狩猎优先顺序应为:
- 搜索重复或异常的
diffpatch请求; - 搜索 Gitea 服务账户启动的子进程;
- 检查异常 Git 引用、对象、分支及提交;
- 检查残留 临时 Hook。
- 搜索重复或异常的
重点搜索:
POST /api/v1/repos/{owner}/{repo}/diffpatch
以及 临时克隆仓库 中的:
hooks/post-index-change
检查:
- 同一 可执行 Hook 补丁 被重复提交;
- Gitea 进程 启动 shell 或 脚本解释器;
- 被用于保存命令输出的新分支;
- 临时目录 中的可执行文件;
- 未经授权的代码仓库、管理员、令牌或集成配置变更。
怀疑失陷时轮换:
- OAuth/SSO 密钥;
- 代码仓库部署密钥;
- CI/Webhook 令牌;
- 软件包注册表凭据;
- SMTP 及数据库凭据;
- Gitea 可读取的环境密钥。
验证 代码仓库、发布制品、软件包及下游 CI/CD 作业 没有遭篡改。
主要来源
3. Minnesota:30 多个社区供水系统遭协调式攻击锁定
事件时段: 2026 年 7 月 26–27 日 本窗口重大更新: Reuters 于 2026 年 7 月 29 日 06:35(UTC+8)报道 Minnesota IT Services 已确认超过 30 个系统遭锁定 利用状态: 调查确认事件群中存在带有恶意意图的未授权访问 归因状态: 未确认 分析师运营优先级:🔴 供水和 OT 运营方高优先级
Minnesota IT Services 表示,超过 30 个 社区供水系统 在 7 月 26–27 日期间遭协调式网络攻击锁定。
调查人员在事件群中确认存在带有恶意意图的未授权访问,但现有公开数据尚未证明每一个被锁定系统均遭成功入侵,或全部设施均受到相同程度的 OT 或运营影响。
地方报告指出:
- Braham 水厂的 运行控制系统 一度离线,导致井及水处理设施短暂停运;
- South St. Paul 的部分 自动化控制系统 受到影响,但运营人员维持正常供水及污水服务;
- Plymouth 的水塔及升降站通讯受到影响,运营人员改用 人工操作流程;
- Maple Plain 的部分 自动化控制功能 受到影响。
截至公开报道时间,Minnesota IT Services 未掌握任何仍然生效的居民用水调整要求。Braham、Plymouth 与 Maple Plain 等已公开名称的城市表示水质或公共安全未受影响;其他被锁定系统的完整状态仍未公布。
归因限制
事件目标与部分访问方式,与过往 Iran-affiliated actors 针对美国 面向互联网的 PLC 的活动存在相似之处。
然而:
- Minnesota 官方尚未正式归因;
- 初始访问入口尚未公布;
- 受影响 PLC/gateway 厂商尚未完整公开;
- 公开数据不足以把所有事件连结至单一行为者。
因此,不应把目标或手法相似直接当成伊朗归因证据。
立即行动
盘点所有:
- 面向互联网的 PLC;
- HMI;
- SCADA 网关;
- VPN;
- 远程桌面;
- 厂商远程维护系统;
- 工程工作站。
移除控制器及 HMI 的直接 互联网暴露。
停用:
- 默认密码;
- 共享账户;
- 休眠厂商账户;
- 未使用的 远程访问服务。
限制 控制器编程模式,只允许核准的 工程工作站。
将下列项目与可信基线比对:
- PLC 逻辑;
- 设定值;
- 可复用代码模块;
- HMI 画面;
- 告警配置;
- 安全设置。
搜索:
- 未授权 远程登录;
- 控制器配置变更;
- 项目上传/下载;
- 不寻常 设备重启;
- 告警抑制;
- 手动覆盖;
- 新 工程工作站连接;
- 非维护时窗内的 编程模式。
验证人工操作、安全停机及 IT/OT isolation procedures。
即使服务已恢复,也不能只以可用性作为结案标准;必须验证控制逻辑、告警、设定值及安全设置没有被持久修改。
主要来源
- Reuters — Coordinated Attack Targets More Than 30 Minnesota Water Systems
- CBS Minnesota — Braham Water Plant Outage and Other Local Impacts
🤖 AI/MCP 安全
4. CVE-2026-59726:Ruflo MCP Bridge 无需身份验证的 RCE 与 AgentDB Poisoning
原始 advisory: 2026 年 7 月 1 日 修复版本: Ruflo 3.16.3 本窗口重大更新: Noma Labs 于 7 月 29 日公开完整利用链 CVSS v3.1: 10.0 — Critical 利用状态: 研究人员在测试部署中验证完整攻击链 真实环境利用: 未见确认 状态: 技术跟进
Ruflo 3.16.3 以前的预设 Docker Compose 配置曾把 MCP Bridge 及 MongoDB 绑定至所有网络接口。
未经身份验证的攻击者可直接向:
POST /mcp
POST /mcp/:group
提交 tools/call,绕过只在 autopilot flow 中生效的 工具阻止列表,并调用:
terminal_execute
以容器内的 node 用户身份取得 shell。
完整影响
成功利用后,攻击者可能:
- 读取 OpenAI、Anthropic、Google、OpenRouter 等服务提供商 API 密钥;
- 使用受害者 API 密钥建立攻击者控制的 agents;
- 读取 对话、记忆数据、标题及元数据;
- 修改系统提示词或工具定义;
- 写入恶意 AgentDB 模式;
- 污染后续智能体输出;
- 访问未配置身份验证的 MongoDB;
- 通过智能体工具 访问 代码仓库、主机或外部服务;
- 在研究人员的测试环境中建立可在 容器重启后恢复的持久化。
最后一项是研究人员在特定测试部署 上展示的攻击路径,不代表每宗成功利用均必然形成相同的持久化。
修复内容
Ruflo 3.16.3 的主要改动包括:
- MCP Bridge 预设只绑定环回地址;
- 公开绑定但没有
MCP_AUTH_TOKEN时默认拒绝; - Bearer 令牌身份验证;
terminal_execute预设停用;- MongoDB 预设要求身份验证;
- 容器只读文件系统 与
tmpfs; - CORS 允许列表;
- CI 回归检查。
立即行动
- 升级至 Ruflo 3.16.3 或以上。
- 从不可信网络封锁:
TCP 3001
TCP 27017
- 确认 MCP Bridge、MongoDB 及其他管理 endpoints 没有绑定:
0.0.0.0
为所有 MCP 请求 实施:
- 强身份验证;
- 工具级授权;
- 网络允许列表;
- 请求日志记录;
- 速率限制;
- 明确的高风险工具政策。
预设停用:
terminal_execute;- 文件系统写入;
- 凭据访问;
- Shell 执行;
- 未批准 网络工具。
轮换 Ruflo 容器可读取的:
- 模型厂商 API 密钥;
- GitHub/GitLab 令牌;
- 云凭据;
- SSH 密钥;
- 数据库凭据。
检查 AgentDB:
agentdb_pattern-store;- 新增或异常 patterns;
- 影响所有用户输出的被投毒条目;
- 未经批准的学习制品。
检查 MongoDB:
- 未授权数据修改;
- 对话/记忆数据访问;
- 新用户或 身份验证变更;
- 异常导出;
- 持久化制品。
搜索:
- 容器内新增 shell tools;
/tmp中的 MongoDB 客户端或载荷;- 非预期出站连接;
- 被修改的 提示词、工具或配置;
- 容器重启后重新出现的异常进程。
不要只重新部署修复版本。 重新部署已修复版本不会自动删除已注入的 AgentDB 模式、撤销已泄露 API 密钥或恢复遭篡改的 MongoDB 数据。
主要来源
🧪 延续性技术研究
5. CVE-2026-10702:Firefox JIT 漏洞与 Android Root Chain
Mozilla 修复日期: 2026 年 6 月 2 日 原始研究日期: 2026 年 7 月 10 日 本窗口更新: 7 月 29 日媒体进一步整理完整 exploit chain Mozilla 严重程度: High 最低修复版本: Firefox 151.0.3 真实环境利用: 未见官方确认 状态: 延续事件/媒体放大报道
Mozilla 将 CVE-2026-10702 描述为 Firefox JavaScript Engine JIT 组件 中的 错误编译,并于 6 月 2 日在 Firefox 151.0.3 修复。
Nebula Security 在 7 月 10 日发布 IonStack Part I,展示如何把该 JIT 漏洞 武器化,在 Firefox 内容/渲染进程 中取得任意代码执行。
公开的 Android 17 攻击链还需要另一项 Linux kernel futex 漏洞才能取得 root。因此:
CVE-2026-10702 本身是浏览器入口,不等同完整设备接管。
Firefox 与 Tor Browser 的证据边界
- Mozilla advisory 只列出 Firefox;
- Nebula 研究涉及使用相关 Firefox code path 的浏览器版本;
- Tor Browser 使用 Firefox ESR 并选择性 回移植安全修复;
- 不能只因 Tor Browser 基于 Firefox,便推断所有 Tor Browser 版本均受影响。
Tor Browser 15.0.19 已在 7 月 21 日升级至 Firefox ESR 140.13.0,并 backport Firefox 153 的安全修正。实际安全状态应以 Tor Project release notes 为准。
建议行动
- Firefox 用户应升级至 Mozilla 当前最新受支援的 稳定版或 ESR 版本;
- Firefox 151.0.3 只是该 CVE 的最低修复版本,不是目前的最终升级目标;
- Tor Browser 用户应升级至 Tor Project 当前最新版本;
- 确认浏览器已重新启动,避免更新已下载但仍使用旧进程;
- 对安全研究人员、记者、外交人员、人权工作者及高权限管理员缩短 浏览器补丁 SLA。
主要来源
- Mozilla Foundation Security Advisory 2026-54
- Nebula Security — IonStack Part I
- Tor Project — Tor Browser 15.0.19
- The Hacker News — Exploit-Chain Follow-up
🔐 数据泄露/勒索软件
在本次监测的官方企业公告、政府/监管申报及主要威胁情报来源中,未识别到于覆盖窗口内获正式确认的新大型数据泄露或重大勒索软件事件。
部分勒索软件网站新增受害者名称,但在缺乏企业确认、监管申报、可验证数据样本或可信事件响应证据的情况下,本期不将其列为已确认事件。
👀 值得追踪
- Rails CVE-2026-66066: 官方表示完整技术细节最迟于 8 月 28 日公开;应关注 PoC、扫描、文件读取及 密钥外泄遥测。
- Gitea CVE-2026-60004: 是否出现 大规模扫描、开放注册实例批量利用或 CISA KEV 更新。
- Minnesota 水务事件: 成功入侵比例、初始访问向量、设备厂商、控制逻辑变更及正式归因。
- Ruflo/MCP: 是否仍有公开 TCP 3001/27017,以及其他 智能体框架 是否存在相同的无需身份验证的高权限工具设计。
- Firefox CVE-2026-10702: 是否出现真实环境利用,或研究链被移植至其他架构及浏览器版本。
- CISA KEV: 根据编辑团队截至 2026 年 7 月 30 日 08:00(UTC+8)的检查,本窗口未识别到新增项目;最近一次可确认更新为 7 月 27 日加入 Fortinet CVE-2025-68686 及 Arista CVE-2026-16812。
KEV 参考
✅ 今日优先行动
P0|立即处理
- 识别所有使用 Active Storage、libvips 并接受不可信图片上传的 Rails 应用。
- 将 Rails stack 升级至受支援的修复版本,并确认 libvips ≥8.13。
- 升级所有 Gitea 至 1.27.1 或以上。
- 封锁公开 Ruflo TCP 3001/27017,并升级至 3.16.3 或以上。
- 对曾对外暴露的 Rails、Gitea 及 Ruflo 部署启动入侵评估。
P1|未来 24–72 小时
- 轮换 Rails 进程可读取的全部密钥,并撤销旧会话。
- 搜索 Gitea
diffpatch请求、服务账户子进程 及异常 Git 对象。 - 调查 Ruflo AgentDB、MongoDB、对话存储 及 服务提供商 API 密钥使用情况。
- 对 Minnesota 或其他水务 OT 环境,比对 PLC 逻辑、设定值、告警配置与可信基线。
- 强制高风险 Firefox/Tor Browser 用户完成更新并重新启动。
P2|本周内
建立以下高风险服务的完整清单:
- 文件上传处理器;
- 自托管代码平台;
- MCP 服务器;
- 智能体记忆存储;
- 面向互联网的 OT 系统;
- 高风险浏览器用户群体。
对自托管开发及 AI 平台记录:
- 注册策略;
- 身份验证;
- 网络暴露;
- 可执行工具;
- 存储的密钥;
- 临时文件系统权限;
- 下游权限。
把「修复+密钥轮换+数据完整性检查」纳入 任意文件读取 及 控制平面 RCE 的标准处置流程。
MCP 服务器 应套用与 生产环境管理 API 相同的身份、授权、网络隔离及审计控制。
对 OT 实施 互联网暴露检查、逻辑基线验证 及 人工操作演练。
📌 最终评估
本窗口的事件显示,攻击者不一定需要直接突破复杂的身份防线。
他们可以:
- 利用图片处理器读取应用密钥;
- 利用普通代码仓库写入权限 把 Git 功能转化为 Shell 执行;
- 利用没有身份验证 的 MCP 端点 取得高权限工具;
- 利用公开 OT 远程访问 影响实体运营;
- 利用单一恶意网页取得浏览器立足点。
今日最重要的防御结论是:
不要只判断入口是否需要登录,也要检查低权限功能能否接触执行环境、密钥、工具、临时目录及下游控制平面。
修复只能关闭已知入口。对曾对外暴露的 Rails、Gitea、Ruflo 或 OT 系统,还必须轮换密钥、验证数据完整性、检查持久化,并重新确认下游环境的可信度。
