CitrixBleed-2 (CVE-2025-5777) – NetScaler ADC/Gateway “内存泄漏” 的概念验证漏洞利用
CVE-2025-5777 是 Citrix NetScaler ADC/Gateway(Gateway 或 AAA vServer 模式)中的一个严重的未认证越界读取漏洞。单个精心构造的请求即可转储包含会话令牌的内存,从而实现完全认证绕过——因此得名“CitrixBleed 2”。
补丁版本于 2025 年 6 月 17 日发布:
未打补丁的系统没有官方缓解措施。
本 Github 仓库提供的信息仅用于教育目的。本 Github 上的所有信息均以善意提供,但我不对任何信息的准确性、充分性、有效性、可靠性、可用性或完整性作任何明示或暗示的陈述或保证。此代码仅出于教育和防御目的发布。在测试之前,请确认您拥有目标设备的所有权或已获得明确授权。该 PoC 会泄漏实时内存;请尽可能在测试设备上运行。
此脚本需要使用 Python3 和 urllib 库 如果您想测试该漏洞,请仅在您自己的(非生产)系统上进行
python CVE-2025-5777.py <target.host>
脚本 ns_log_scanner.py 可用于检测 HEX 范围 0x20 到 (ASCII)或 、 和 (水平制表符、换行符和回车符)的任何字符——这些字符可能是二进制数据:
0x7F0x090x0A0x0Dpython ns_log_scanner.py /var/log/ns.log #(示例路径)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
msg:"doAuthentication bare-login exploit";
flow:established,to_server;
http_method; content:"POST"; nocase;
http_uri; pcre:"/\/p\/u\/doAuthentication\.do(?:[\/\?]|$)/Ui";
http_header; pcre:"/Content-Length\s*:\s*[1-9]\d{0,2}/Hi";
# ‼ 裸“login” – 下一个字符不能是 '='
http_client_body; pcre:"/\blogin(?!\s*=)/i";
classtype:web-application-activity;
sid:1001003; rev:1; metadata:service http;
)
config ips custom-signature
edit "DoAuthentication_BareLogin"
set severity medium
set default-application signature
set service "HTTP"
set direction clienttoServer
set pattern "GETPOST \/p\/u\/doAuthentication\.do[\/\?]?.*Content-Length:\s*[1-9][0-9]{0,2}.*\blogin(?!\s*=)"
next
end
作者 : Mischa Rick van Geelen (@rickgeex)
公司 : Anovum B.V.
联系方式 : [email protected]