CVE-2025-49921CVE-2025-49921是Crocoblock JetReviews WordPress插件中存在的一个PHP本地文件包含(Local File Inclusion,LFI)漏洞,CVSS评分为7.5,属于高危级别漏洞。该漏洞源于插件在PHP程序中对包含/引入语句的文件名控制不当,即'PHP Remote File Inclusion'类缺陷。由于JetReviews插件未对用户可控的文件路径参数进行充分的验证和过滤,攻击者可以通过构造恶意的文件路径,触发PHP的include/require语句加载本地或远程的恶意文件,从而执行任意代码。
此漏洞的影响范围涵盖JetReviews插件从初始版本到3.0.0(含)的所有版本。该插件是WordPress生态系统中广泛使用的评论管理工具,被大量网站用于增强评论功能,因此漏洞影响面较广。攻击者需要获得低权限认证(如订阅者级别的WordPress账户)即可利用该漏洞,无需用户交互。一旦成功利用,攻击者可以读取服务器上的敏感文件(如配置文件、密码文件等),甚至通过PHP文件包含执行任意代码,导致服务器完全失陷。该漏洞的机密性、完整性和可用性影响均为高,表明其危害程度极大,可能导致数据泄露、网站篡改以及服务器被完全控制等严重后果。
该漏洞由Patchstack安全团队的[email protected]发现并报告,于2025年10月22日正式披露。Patchstack作为WordPress安全领域的专业团队,及时识别并报告了该漏洞,为插件开发者和网站管理员提供了修复窗口期。建议所有使用JetReviews插件的WordPress网站管理员尽快检查并升级到修复后的版本。
该漏洞属于PHP程序中经典的本地文件包含(LFI)漏洞,根因在于JetReviews插件代码中对include或require语句所使用的文件名参数未进行严格的过滤和验证。具体而言,插件在处理某些功能模块时,可能直接或间接地将用户可控的输入作为文件路径传递给PHP的include/require函数,而没有使用白名单机制或对路径进行规范化处理。
从技术层面分析,攻击者利用此漏洞的步骤如下:首先,攻击者需要拥有一个有效的WordPress账户(低权限即可,如订阅者角色)。然后,攻击者通过构造包含恶意文件路径的请求,发送到存在漏洞的插件端点。由于插件未对路径中的目录遍历序列(如../)或PHP包装器(如php://filter、php://input)进行过滤,攻击者可以:1)使用目录遍历读取服务器上的任意文件,如/etc/passwd、wp-config.php等敏感文件;2)通过PHP流包装器读取PHP源码或执行预定义操作;3)在特定配置下(allow_url_include=On),利用PHP的远程文件包含功能加载远程服务器上的恶意PHP脚本,实现远程代码执行(RCE)。
该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H,表明攻击通过网络进行(AV:N),攻击复杂度较高(AC:H,因为需要认证和一些特定条件),需要低权限(PR:L),无需用户交互(UI:N),且对机密性、完整性、可用性均有高影响。AC:H的评级反映了利用该漏洞需要一定的认证条件和配置环境。