CVE-2026-32301Centrifugo是一款开源可扩展的实时消息服务器。在6.7.0之前的版本中,当使用模板变量(如{{tenant}})配置动态JWKS端点URL时,存在服务器端请求伪造(SSRF)漏洞。未认证的攻击者可以构造恶意的JWT令牌,利用iss或aud声明值在令牌签名验证之前被插入到JWKS获取URL中,从而诱导Centrifugo向攻击者控制的目标服务器发起HTTP请求。该漏洞可能导致内网服务被探测、敏感数据泄露或作为进一步攻击的跳板。攻击者无需任何认证即可利用此漏洞,在网络可达的情况下可远程触发。
漏洞根源在于Centrifugo的JWT验证流程设计缺陷。当配置文件中指定动态JWKS端点时,系统会先将JWT声明中的iss或aud值进行模板变量替换,然后才执行签名验证。具体流程为:1) 攻击者构造包含恶意iss/aud值的JWT(如将值设为内网IP或恶意域名);2) Centrifugo接收JWT后,提取iss/aud字段并进行变量替换;3) 替换后的URL被用于发起HTTP请求以获取公钥;4) 由于签名验证发生在URL请求之后,攻击者可以在签名验证前控制服务器请求的目标地址。攻击者可通过该方式探测内网服务、读取云元数据或建立隐蔽通道。