CVE-2026-44312css_parser是一个用于Ruby语言的CSS解析器。在2.1.0和1.22.0版本之前,该库存在严重的安全缺陷。当通过HTTPS协议远程加载样式表时,css_parser未能正确验证服务器的SSL/TLS证书。具体而言,由于代码中使用了`OpenSSL::SSL::VERIFY_NONE`标志,解析器会无条件信任任何证书,包括自签名或已被撤销的证书。这使得处于网络路径中的中间人(MITM)攻击者能够拦截连接,并注入或篡改CSS内容,从而可能引发钓鱼攻击或窃取敏感信息。
该漏洞的技术根源在于Ruby的css_parser库在处理HTTPS请求时,错误地配置了OpenSSL的验证选项。正常情况下,安全的SSL/TLS连接应当验证证书链的有效性,以确保通信双方的身份真实性。然而,受影响版本的代码在建立连接时,显式设置了`OpenSSL::SSL::VERIFY_NONE`,这导致客户端完全跳过了证书验证过程,无论是证书过期、域名不匹配还是由未知机构颁发,都会被信任。在攻击场景中,攻击者可以通过ARP欺骗、DNS劫持或控制网络网关等方式实施中间人攻击。当应用程序试图加载远程CSS资源时,攻击者可以拦截请求并返回一个伪造的、包含恶意代码的CSS文件。由于客户端不验证证书,应用程序会正常解析并应用该CSS。攻击者可以利用这一点修改页面布局进行钓鱼,或者在某些环境下利用CSS注入窃取Token等敏感数据。修复该漏洞的关键是将验证模式恢复为默认的`VERIFY_PEER`,强制执行标准的证书校验流程。