CVE-2025-68698CVE-2025-68698是GitHub安全咨询GHSA-mqw7-c5gg-xq97中披露的一个高危加密实现漏洞。该漏洞影响Jervis库,Jervis是一个用于Job DSL插件脚本和共享Jenkins管道库的Ruby库。漏洞的根本原因是在2.2版本之前,Jervis使用PKCS1Encoding进行加密操作,而PKCS1Encoding存在已知的安全缺陷,容易受到Bleichenbacher填充oracle攻击。这种攻击允许攻击者在不需要知道私钥的情况下,通过发送大量精心构造的密文并观察服务器的响应,逐步解密RSA加密的内容。Bleichenbacher攻击最早于1998年被发现,是一种经典的侧信道攻击,攻击者利用加密实现中对错误填充格式的不同响应来推断明文信息。该漏洞的CVSS评分为7.5,属于高危级别,攻击向量为网络,攻击者无需认证即可利用此漏洞,成功利用可导致敏感信息泄露,特别是加密密钥、凭据或其他机密数据。
Bleichenbacher填充oracle攻击是一种针对RSA PKCS#1 v1.5加密的侧信道攻击。攻击原理如下:1) 攻击者拦截或获取使用RSA PKCS#1 v1.5加密的密文;2) 攻击者对该密文进行数学变换,生成大量衍生密文;3) 攻击者将这些衍生密文发送给目标服务器;4) 服务器尝试解密这些密文,如果填充格式正确则返回成功响应,如果填充格式错误则返回错误响应;5) 通过分析服务器的响应差异,攻击者可以逐步缩小原始明文的可能范围;6) 经过多轮迭代,攻击者最终可以恢复完整的明文。Jervis库在2.2版本之前使用PKCS1Encoding时,对不同填充错误返回不同的错误消息或响应时间,泄露了填充验证的信息。攻击者可以利用这一特性,通过自动化工具发送数千甚至数百万个查询,逐步解密任意使用该库加密的RSA密文。修复方案是升级到2.2版本并使用OAEP(最优非对称加密填充),OAEP包含了额外的安全机制,可以有效防止此类攻击。