CVE-2026-4977WordPress插件UsersWP在1.2.58及之前版本中存在不适当的访问控制漏洞。该漏洞源于`upload_file_remove()` AJAX处理程序未对`$htmlvar`参数进行充分的字段级权限验证。这允许具有订阅者及以上权限的认证攻击者绕过“仅管理员使用”的限制,清除或重置其用户记录中的任何受限用户元数据字段,可能导致特定用户配置丢失或状态篡改。
该漏洞的根源位于UsersWP插件的`class-forms.php`文件中的`upload_file_remove()`函数。该函数主要负责处理通过AJAX发起的文件移除请求。在代码逻辑中,函数直接接收并使用了用户通过POST请求提交的`$htmlvar`参数,将其作为键值来操作数据库中的用户元数据(usermeta)。关键的安全缺陷在于,该函数并未对`$htmlvar`参数进行严格的校验:既没有检查该字段是否在允许操作的白名单内,也没有查询字段的`for_admin_use`属性来判断当前用户是否有权修改。在正常业务逻辑中,标记为`for_admin_use`的字段应当仅供管理员账户读写。由于这一验证逻辑的缺失,任何经过身份验证的低权限用户(例如订阅者)均可利用此漏洞。攻击者只需构造一个包含恶意`htmlvar`参数的特制AJAX请求发送至`wp-admin/admin-ajax.php`,即可绕过前端界面的限制,强制删除或重置自己账户下那些本应受保护的敏感元数据字段,从而破坏了数据的完整性和业务逻辑的限制。