flawopen.com/Teardowns/cve-2026-88779-citrix-netscaler-saml-memory-overflow
CVE-2026-88779:Citrix NetScaler SAML 内存溢出
CVE-2026-88779 是影响客户自行管理的 Citrix NetScaler ADC 和 Gateway 的内存溢出漏洞。它影响配置了 SAML 身份验证的部署,攻击者正利用它发动定向拒绝服务攻击;Citrix 尚未发现客户数据完整性受影响。[1], [2], [3]
接待队伍的空间有限。如果工作人员接收了一个需要空间超过容量的号码牌,服务台可能卡住,无法继续服务。这项漏洞在特定 SAML 路径中突破了内存边界;已确认影响是可用性,而不是已证实的远程代码执行。[1]
核心概念与专有名词
SAML SP / IdP- SAML 身份验证中的服务提供方和身份提供方角色;Citrix 将两种配置都列为前提。[1]
CWE-119- 未能将操作限制在内存缓冲区边界内。[1]
Global Deny List- Citrix 虚拟补丁功能;仅在满足文档前提时作为临时缓解措施。[2]
相关漏洞 CVE-2026-88771- 另一个
CWE-20未认证 RCE 影响所有客户自主管理的部署。它不同于本篇介绍的、依赖 SAML 配置的CWE-119拒绝服务漏洞;两者均列于 Citrix 公告 CTX697096,修复版本分支相同。[6]
框架映射
- 本指南所述弱点的 CWE 参考: CWE-119
- CISA KEV — 收录日期 2026-10-04 — CVE-2026-88779
根本原因剖析 (Root Cause)
Citrix 将 CVE-2026-88779 归类为 CWE-119,CVSS 4.0 评分为 8.7,并说明当 NetScaler ADC 或 Gateway 配置为 SAML 服务提供方(SP)或身份提供方(IdP)时,内存溢出可能导致拒绝服务。Citrix 的补充指南将排查范围限定为与 Gateway 或 AAA 功能结合使用的 SAML 身份验证,并报告未缓解部署正遭受定向攻击。反复触发可能使服务持续不可用;Citrix 尚未发现客户数据完整性影响。厂商未公开易受攻击的源代码行或补丁差异;下方 C 代码仅示范一般边界检查,不是 NetScaler 代码,也不复现漏洞。检查配置中的 add authentication samlAction(SAML SP)或 add authentication samlIdPProfile(SAML IdP),评估 Gateway/AAA 场景,安装修复版本;只有满足 Citrix 文档所述版本和控制台前提时,才使用 Global Deny List 临时缓解。[1], [2]
CVE-2026-88779 适用范围与修复对照表
| 范围 | 已记录的条件或版本 | 运维操作 |
|---|---|---|
| 受影响配置 | 客户自主管理的 ADC/Gateway,且在 Gateway/AAA 场景中配置了 SAML SP 或 IdP。 | 检查 add authentication samlAction 和 add authentication samlIdPProfile,并评估 Gateway/AAA 场景。 |
| ADC/Gateway 14.1 | 14.1-73.41 之前受影响;14.1-73.41 或更高版本已修复。 | 升级到该版本线的修复版本。 |
| ADC/Gateway 13.1 | 13.1-64.28 之前受影响;13.1-64.28 或更高版本已修复。 | 升级到该版本线的修复版本。 |
| ADC 14.1-FIPS | 14.1-73.41 FIPS 之前受影响;14.1-73.41 FIPS 或更高版本已修复。 | 升级到修复后的 FIPS 版本;不要套用标准版本号。 |
| ADC 13.1-FIPS/NDcPP | 13.1-37.282 之前受影响;13.1-37.282 或更高版本已修复。 | 升级到适用的 FIPS/NDcPP 修复版本。 |
| 符合 Global Deny List 条件的中间版本 | 14.1-73.37 ≤ 版本 < 14.1-73.41;13.1-64.23 ≤ 版本 < 13.1-64.28。 | 只有在确认满足 Citrix 所有前提后,才将其作为临时虚拟补丁;它不能替代升级。 |
| Global Deny List 前提 | NetScaler Console 配合 Cloud Connect 或 Console service;启用 virtual patching;默认签名 v24 或更高。 | 使用 show appfw signatures 和 stat denylist global AAA_REQUEST 验证;启用前查看 Citrix 当前指南。 |
攻击执行流程分解
源代码对比:漏洞与安全实现
此 C 示例仅用于说明通用缓冲区容量检查。Citrix 未公开 NetScaler 易受攻击的源代码或补丁差异。它不复现该 CVE;受支持的修复方法是安装 Citrix 修复版本,Global Deny List 仅在满足条件时作为临时措施。
源码摘录: 通用 C 边界检查示例;并非 Citrix NetScaler 源码
#include <stddef.h>
#include <stdint.h>
#include <string.h>
int copy_field(uint8_t *dst, const uint8_t *src, size_t len) {
/* 通用的不安全模式:未将输入长度与 dst 的容量进行校验。 */
memcpy(dst, src, len);
return 1;
}
#include <stddef.h>
#include <stdint.h>
#include <string.h>
int copy_field(uint8_t *dst, size_t dst_capacity,
const uint8_t *src, size_t len) {
if (len > dst_capacity) return 0;
memcpy(dst, src, len);
return 1;
}
工程与系统安全加固清单
- ✓盘点客户自行管理的 NetScaler ADC 和 Gateway 版本,包括 FIPS/NDcPP 变体,并对照当前公告中的修复版本表。[1]
- ✓检查有效配置中是否存在
add authentication samlAction和add authentication samlIdPProfile,并评估 Gateway 或 AAA 使用场景。[1] - ✓ADC/Gateway 14.1 升级至 14.1-73.41 或更高版本;13.1 至 13.1-64.28 或更高版本;ADC 14.1-FIPS 至 14.1-73.41 FIPS 或更高版本;ADC 13.1-FIPS/NDcPP 至 13.1-37.282 或更高版本。[1]
- ✓Global Deny List 仅作为临时缓解措施:Citrix 要求使用 NetScaler Console(本地部署并启用 Cloud Connect,或使用 Console 服务)、启用 virtual patching、运行符合条件的中间版本(14.1-73.37 至 <14.1-73.41,或 13.1-64.23 至 <13.1-64.28)、默认签名达到 v24 或更高,并通过
show appfw signatures和stat denylist global AAA_REQUEST检查状态。它不能替代升级。[2] - ✓如果此前为
CVE-2026-88771至CVE-2026-88778升级过,只要本 CVE 的 SAML 前提成立,仍需再次升级。[6], [1] - ✓建议的本地监控:对设备意外不可用和 SAML 身份验证失败设置监控,并为事件响应保留相关日志。将这些信号视为调查线索,而非已遭入侵的证据。
- ✓不要将
CVE-2026-88779描述为已确认的 RCE:Citrix 记录的是内存溢出导致拒绝服务,并表示未发现数据完整性影响。[1]