CVE-2026-46364phpMyFAQ 4.1.2之前的版本中存在严重的未认证SQL注入漏洞。该漏洞源于BuiltinCaptcha类的方法直接将未过滤的User-Agent请求头拼接到SQL查询语句中。攻击者无需登录,只需向/api/captcha端点发送特制的User-Agent请求头,即可执行基于时间的盲注攻击,从数据库中窃取用户凭证、管理员令牌及SMTP凭据等敏感信息,造成严重的数据泄露。
该漏洞的核心在于phpMyFAQ处理验证码时的不当编码。BuiltinCaptcha类的garbageCollector()和saveCaptcha()方法负责数据库的清理与写入操作,但在构建SQL语句时,直接将HTTP请求头中的User-Agent字段插入到了DELETE和INSERT语句中,且缺乏任何过滤机制。由于/api/captcha接口设计为公开访问且无需认证,攻击者可利用此缺陷。通过精心构造包含SQL时间盲注负载(如AND SLEEP(5))的User-Agent头,攻击者可诱导数据库执行延时查询。通过测量响应时间,攻击者能够逐字节推断出数据库内容,从而在无错误回显的情况下提取完整的敏感数据。