CVE-2025-63721CVE-2025-63721是HummerRisk项目中的一个高危安全漏洞,该漏洞存在于HummerRisk v1.5.0及之前版本中。漏洞的根本原因在于HummerRisk使用了存在安全问题的Snakeyaml组件进行YAML解析。Snakeyaml是一个广泛使用的Java YAML解析库,此前曾被曝出存在反序列化远程代码执行漏洞,攻击者可以通过构造恶意的YAML payload,利用Snakeyaml的反序列化功能执行任意代码。
在HummerRisk应用中,攻击者只需要拥有普通用户权限,即可访问未授权的/rule/add API端点。通过向该API发送精心构造的恶意YAML数据,攻击者可以利用Snakeyaml组件的反序列化漏洞,在服务器端执行任意系统命令,从而完全控制受影响的服务器。一旦攻击者获得服务器控制权,可以窃取敏感数据、植入后门、横向移动到其他系统,对整个基础设施造成严重威胁。
该漏洞的CVSS评分高达8.8,属于高危级别,CVSS向量显示攻击向量为网络层面,攻击复杂度低,但需要低权限认证。漏洞的机密性、完整性和可用性影响均为高。这意味着一旦漏洞被利用,将对系统的保密性、完整性和可用性造成严重影响。建议受影响的用户尽快升级到最新版本或采取相应的缓解措施。
该漏洞的技术原理主要涉及Snakeyaml组件的反序列化安全问题。Snakeyaml库在解析YAML数据时,默认支持YAML标签的自动类型转换功能,攻击者可以利用这一特性构造恶意的YAML payload,触发JNDI注入或类加载等操作,从而执行任意代码。
在HummerRisk应用中,/rule/add API端点接收用户提交的YAML格式规则配置数据。当这些数据被传递给Snakeyaml组件进行解析时,如果攻击者在YAML payload中嵌入恶意构造的标签(如!!javax.naming.InitialContext),Snakeyaml会尝试实例化相应的Java对象。攻击者可以进一步利用JNDI注入技术,通过指定恶意JNDI地址(如ldap://attacker.com/Exploit),让服务器在反序列化过程中连接攻击者控制的LDAP服务器,加载并执行恶意Java类。
具体利用过程如下:攻击者构造包含恶意JNDI引用的YAML payload,当Snakeyaml解析该payload时,会触发InitialContext的lookup操作,连接攻击者指定的LDAP服务器。该LDAP服务器返回指向恶意Java类文件的引用,服务器在加载并执行该类时,恶意代码将以运行HummerRisk进程的相同权限执行,从而实现远程代码执行。由于HummerRisk通常以较高权限运行,攻击成功后将获得服务器的完全控制权。