CVE-2025-10406CVE-2025-10406是BlindMatrix e-Commerce WordPress插件中存在的一个本地文件包含(Local File Inclusion, LFI)漏洞。该漏洞影响3.1版本之前的所有BlindMatrix e-Commerce插件。该插件是一款用于WordPress的电商解决方案,为用户提供在线商店搭建功能。
该漏洞的核心问题在于插件未对shortcode(短代码)属性进行充分的验证和过滤,就直接将其用于生成文件路径并传递给PHP的include函数。由于WordPress的shortcode机制允许在文章或页面中嵌入动态内容,攻击者可以通过构造特殊的shortcode属性值,利用路径遍历(Path Traversal)技术,包含服务器上的任意文件。
此漏洞的CVSS评分为5.5,属于中危级别。虽然需要高权限认证(PR:H)才能利用,但任何具有贡献者(Contributor)级别及以上权限的认证用户均可触发此漏洞。攻击者可以通过此漏洞读取服务器上的敏感文件,如WordPress配置文件(wp-config.php),从而获取数据库凭证等关键信息。漏洞的发现者为WPScan团队,该漏洞已于2025年10月15日公开披露。
该漏洞的技术原理基于PHP的本地文件包含(LFI)机制。BlindMatrix e-Commerce插件在处理shortcode时,会从shortcode属性中提取参数值,然后将这些值拼接到文件路径中,最后通过PHP的include或require函数加载目标文件。
具体而言,插件中的某个shortcode处理函数没有对用户可控的属性值进行适当的过滤和验证。例如,当插件处理类似[blindmatrix_template file='xxx']这样的shortcode时,它会直接将file属性的值拼接到路径中,形成类似include('templates/' . $file . '.php')的调用。
攻击者可以利用路径遍历序列(../)绕过目录限制,例如构造file='../../../wp-config.php',使得最终的包含路径变为'templates/../../../wp-config.php',从而包含WordPress的核心配置文件。由于include函数在遇到非PHP文件时会直接输出其内容(除非文件本身包含PHP代码),攻击者可以通过精心构造的payload读取服务器上的敏感文件内容。
利用此漏洞的前提条件是攻击者必须拥有有效的WordPress账户,且至少具有Contributor级别的权限。这是因为WordPress的shortcode通常在文章内容中渲染,而Contributor级别以上的用户才被允许发布文章内容。