Struts 又爆雷,老组件成了新靶场
8月初 Apache Struts 集中披露四个可致远程代码执行的漏洞,随后 CISA 又将 Citrix NetScaler 一个内存溢出漏洞收入 KEV 目录。两件事叠加指向同一个产业事实:企业边界上的老组件和边缘设备,仍是攻击链的第一跳。本文拆解漏洞机理、修复节奏与防御优先级。
Struts 又爆雷,老组件成了新靶场
8月初的两条漏洞情报,看起来毫不相干,放在一张图上看却让人后背发凉:Apache Struts 一口气披露了四个漏洞,覆盖远程代码执行、拒绝服务和跨用户数据泄露;几乎同一时间段,CISA 把 Citrix NetScaler 的一个内存溢出漏洞正式收进 Known Exploited Vulnerabilities(KEV)目录——注意关键词,是“已被利用”。
一个是最老牌的 Java Web 框架,一个是最主流的边缘接入设备,一个管应用层,一个管网络层。它们唯一的共同点是:都站在企业边界上,都“服役”多年,都是攻击者闭着眼睛都会先摸一遍的位置。
这不是巧合。边界上的老地基,依然是整个攻击面里性价比最高的入口。
⚠️ 一周之内,两记闷棍
先看事实。
Apache Struts 官方在 8 月 3 日前后集中发布公告,披露了四个漏洞。按照公告描述,这些问题分别影响四个不同层面:遗留的 action 映射机制、小数渲染处理、REST 请求处理,以及本地化消息格式化。造成的后果覆盖三类——远程代码执行(RCE)、拒绝服务(DoS)、跨用户数据泄露。修复版本是 Struts 7.4.0 和 6.12.0。
RCE 类漏洞的定级通常不会低,而这四个问题还分散在四个互不相关的代码路径里,说明这不是某一次重构引入的局部问题,而是这个二十岁框架在长期演进中沉淀的系统性风险。
另一边,CISA 将 NetScaler 的 CVE-2026-88779 加入 KEV 目录。这是一个内存溢出漏洞,CVSS 评分 8.7,影响 Citrix NetScaler ADC 和 Gateway 产品线。KEV 收录的门槛很明确:有证据表明漏洞已在真实攻击中被利用。换句话说,这不是一个“理论风险”,而是“正在发生的事”。
Struts漏洞引发大规模数据泄露事件
NetScaler爆出认证绕过类漏洞并被广泛利用
Apache集中发布Struts四个漏洞公告
NetScaler内存溢出漏洞进入KEV目录
(注:2017、2023 两行为行业公开背景事件,用于说明规律延续性。)
据多位从事应急响应的一线人士私下讲,每逢这类公告发布,甲方安全团队的电话会在 48 小时内被打爆——问的不是“有没有影响”,而是“我们到底有多少台在用”。这个问题本身,就是产业现状最诚实的注脚。
🧱 Struts:一笔还没还完的债
老漏洞不修,就会变成新事故。
2017 年,一家美国征信巨头因为没有及时修复一个 Struts RCE 漏洞,损失了约 1.43 亿人的敏感数据,后续罚款和清理成本累计超过十亿美元级。这起事件之后,整个行业形成了一个近乎条件反射的认知:看到 Struts 公告,当天就要开应急会。
八年过去,规律没有变,变的只是具体漏洞的形态。这次的四个漏洞里,最值得警惕的是 REST 请求处理那条路径——面向互联网的 REST 端点是攻击者最先扫描的目标,一旦可通向 RCE,攻击成本极低。而“遗留 action 映射”和“本地化消息格式化”这两处,恰恰说明问题出在框架的历史包袱里,不是新代码引入的。
产业逻辑很清晰:Java 技术栈在金融、政务、大型企业核心系统里的存量极其庞大,Struts 即便在官方主推新版本多年后,仍大量存在于生产环境。社区维护力量有限、企业升级动力不足,两者的剪刀差就是漏洞窗口期。每一次公告,本质上是在提醒:你欠的技术债,攻击者会替你催收。
🚪 NetScaler:边界设备的“高危体质”
如果说 Struts 是“老应用”的问题,NetScaler 代表的是另一类更麻烦的存在——“老设备”。
ADC 和 Gateway 这类产品部署在网络的最外沿,天然暴露在互联网上,同时握有身份认证、流量代理等高权限能力。过去几年,这条产品线已经多次出现在 KEV 目录里,而且多次被勒索团伙当作进入内网的跳板。此次 CVE-2026-88779 是内存溢出漏洞,CVSS 8.7,这类漏洞在设备类产品上的典型危害路径是:无需复杂前置条件即可远程触发,进而获得设备层控制权。
| 维度 | Apache Struts | Citrix NetScaler |
|---|---|---|
| 资产类型 | Java Web 应用框架 | 边缘 ADC / 网关设备 |
| 漏洞数量 | 四个 | 一个(CVE-2026-88779) |
| 危害类型 | RCE、DoS、跨用户数据泄露 | 内存溢出,已被在野利用 |
| 定级 | 公告未统一标注 | CVSS 8.7 |
| 修复版本 | 7.4.0 / 6.12.0 | 随官方公告发布 |
| 监管动作 | 官方公告 | 收入 CISA KEV 目录 |
| 修复难度 | 改代码、回归测试、发版 | 升级固件、重启设备、业务窗口协调 |
两者修复难度不一样,但防御逻辑相同:暴露在互联网上的高权限资产,漏洞生命周期就是风险生命周期。 KEV 目录对企业的真正价值,是给了一个优先级排序的锚点——进了 KEV 的,要在联邦机构规定的时限内完成修复,即便不在美国监管体系内,这也是一个值得对齐的基线。
📉 漏洞越修越多,是错觉还是常态
有人在社区里抱怨:怎么老组件永远修不完?
冷静地看,这不是错觉,但也不是失控。三个结构性原因:
第一,存量资产巨大。企业数字化三十年,堆积了无数“还能跑就别动”的系统,它们的维护者可能早已换了几茬,甚至离职了。
第二,攻击面管理长期缺位。很多企业说不清自己有多少个互联网暴露的 NetScaler、多少个还在跑 Struts 的应用。看不见的资产,谈不上修。
第三,供应链级依赖。Struts 这类框架往往藏在几十个业务系统的依赖树深处,升级一个框架,可能牵动十几条业务线的回归测试。这不是安全团队一个部门能拍板的事。
业界流传一句话:“漏洞公告从来不是新闻,资产台账才是。”这话糙理不糙——同一个漏洞,对有台账的团队是流程节点,对没台账的团队是未知数。
🛠️ 应急视角:这波该怎么接
落到操作层面,本轮事件的优先级排序并不难判断。
对使用 Struts 的团队:立即核对版本,低于 6.12.0 / 7.4.0 的全部纳入修复范围;优先处理互联网可达的 REST 端点;在补丁窗口内,先用 WAF 和虚拟补丁做临时缓解,尤其封堵异常的 REST 请求和小数渲染相关载荷。
对使用 NetScaler 的团队:CVE-2026-88779 已进 KEV,意味着不需要再评估“要不要修”,只需要评估“多快修”。尽快升级固件、审计设备配置和会话记录、检查是否存在异常登录。设备类漏洞的隐患在于,即便打了补丁,攻击者此前落下的持久化后门不会自动消失,必须做完整性核查。
更长期的做法只有一条:把暴露面管理做成日常动作,而不是公告驱动的救火。应急能力决定下限,资产管理决定上限。
小结
Struts 的四个漏洞和 NetScaler 进 KEV,一个来自开源社区,一个来自商业厂商,路径不同,结论一致:边界上的存量资产,仍是攻击者ROI最高的目标。可以预见,随着 KEV 机制的示范效应扩大,“在野利用”将成为全球范围补丁优先级的事实标准。对企业而言,与其焦虑下一个零日,不如先回答那个最朴素的问题——你到底有多少台暴露在互联网上的老设备?