CVE-2025-11177CVE-2025-11177是WordPress External Login插件中存在的一个高危SQL注入漏洞。该漏洞影响该插件所有1.11.2及以下版本,CVSS评分为7.5分,属于高危级别。External Login插件是一款用于WordPress站点的外部认证插件,允许管理员配置外部数据库(如PostgreSQL或MSSQL)作为用户认证后端。该漏洞源于插件在处理用户登录请求时,对'log'参数(即用户名参数)未进行充分的转义处理,且未对底层SQL查询进行充分的预处理(如参数化查询),从而导致未经验证的攻击者可以在原始SQL查询中注入额外的SQL语句。由于该漏洞无需任何认证即可利用,且攻击者可以通过注入的SQL语句从数据库中提取敏感信息(如管理员凭据、用户密码哈希、个人信息等),对WordPress站点的安全性构成严重威胁。该漏洞特别针对使用PostgreSQL或MSSQL作为外部认证数据库的配置环境,因为这些数据库系统支持堆叠查询(stacked queries),使得攻击者能够执行任意SQL语句。漏洞由Wordfence安全团队的安全研究员发现并报告,已于2025年10月15日正式披露。
该漏洞的核心问题在于External Login插件的登录处理逻辑中,db.php文件的第153行附近。插件在处理用户提交的登录请求时,直接将用户输入的'log'参数(用户名)拼接到SQL查询语句中,而没有使用参数化查询或预编译语句,也没有对用户输入进行适当的转义处理。具体而言,当WordPress站点配置了外部认证数据库(PostgreSQL或MSSQL)时,插件会构建类似如下的SQL查询:SELECT * FROM users WHERE username = '<用户输入的log参数>'。由于未对用户输入进行过滤和转义,攻击者可以通过构造特殊的输入(如' OR '1'='1' -- 或 ' UNION SELECT ... --)来改变原始查询的语义,实现SQL注入攻击。值得注意的是,该漏洞仅在配置PostgreSQL或MSSQL作为外部认证数据库时才能被利用,因为这些数据库系统支持堆叠查询,允许攻击者执行多条SQL语句。MySQL数据库默认不支持堆叠查询(取决于驱动配置),因此受影响程度较低。攻击者无需任何认证即可远程利用此漏洞,只需向登录端点发送精心构造的POST请求即可触发。由于该漏洞影响机密性(可读取数据库中的敏感信息),但不直接影响完整性和可用性,因此CVSS向量中C:H/I:N/A:N。