CVE-2026-4066WordPress Smart Custom Fields插件在5.0.6及之前版本中存在严重的信息泄露漏洞。该漏洞源于`relational_posts_search()`函数缺少必要的能力检查,导致未授权的数据访问。具有Contributor及以上权限的认证攻击者,可利用`smart-cf-relational-posts-search` AJAX操作,绕过权限验证读取其他作者的私有和草稿帖子内容。该函数仅检查通用的`edit_posts`能力,而未验证用户对特定文章的读取权限,从而造成敏感数据泄露。
该漏洞位于WordPress Smart Custom Fields插件的`class.field-related-posts.php`文件中,核心问题在于`relational_posts_search()`函数的权限验证逻辑存在缺陷。该函数被注册为AJAX处理程序(对应action为`smart-cf-relational-posts-search`),旨在通过搜索查找关联文章。
当此函数被调用时,它直接执行数据库查询,使用了`post_status=any`参数。这意味着查询结果不仅包含已发布的文章,还涵盖了私有和草稿状态的文章。随后,函数将完整的`WP_Post`对象返回给前端,对象中包含了`post_content`等敏感字段。
关键的安全缺失在于,代码仅检查了当前用户是否具备`edit_posts`这一通用能力。在WordPress角色系统中,Contributor(投稿者)及以上角色通常拥有此权限,但这并不代表他们有权阅读*所有*文章,尤其是属于其他作者的私有草稿。由于代码缺乏对具体文章`read_post`能力的二次验证,攻击者只需具备Contributor权限,即可通过构造恶意的AJAX请求,批量检索并窃取站点内所有用户的私有和草稿文章内容,导致严重的信息泄露。