CVE-2026-1934WordPress的Motors – Car Dealership & Classified Listings插件在1.4.103及之前版本中存在一个安全漏洞。该漏洞源于插件在处理用户元数据更新时缺乏严格的权限验证。具体而言,`stm_save_user_extra_fields()`函数直接从POST数据中获取并更新敏感的用户字段,而没有充分验证当前用户是否有权修改特定字段。尽管该函数检查了用户是否有权编辑自己的个人资料,但这允许低权限用户(如订阅者)修改付款状态字段。因此,经过身份验证的攻击者可以将`stm_payment_status`设置为“已完成”,从而绕过PayPal支付验证,免费获得付费经销商会员功能。
该漏洞位于插件目录下的`includes/user-extra.php`文件中。漏洞函数`stm_save_user_extra_fields()`挂载到了WordPress的`personal_options_update`动作钩子上,这意味着当用户更新个人资料时该函数会被触发。在函数内部,代码仅检查了`current_user_can('edit_user', $user_id)`,这是一个通用的检查,允许用户编辑自己的个人资料。然而,代码没有区分普通个人信息和敏感的业务逻辑字段(如`stm_payment_status`)。攻击者只需拥有一个经过验证的低权限账户(Subscriber级别),即可在发送个人资料更新请求时,向POST数据中注入`stm_payment_status=completed`。服务器接收请求后,会无条件更新数据库中的用户元数据,导致插件逻辑误认为攻击者已完成支付,进而授予其付费Dealer会员的所有权限。