Synopsis
Tenable has discovered a blind SQL injection vulnerability in the SRS Simple Hits Counter plugin for WordPress due to improper validation of user supplied input data. The root cause of the issue occurs in the srs_simple_hits_counter function which fails to validate the contents of the post_id variable. This variable value is used to form an SQL query in the update_views_visitors function.
An unauthenticated, remote attacker can exploit this issue via crafted requests to disclose potentially sensitive information from the WordPress database (e.g. admin password hash). We have verified this vulnerability is present when installed on Ubuntu Linux x64 and Windows x64.
For example:
In srs_simple_hits_counter, the post_id variable is set as such:
$post_id = $_GET['post_id'];
And then in update_views_visitors, a SQL query is constructed with this value:
$post_data = $wpdb->get_results("SELECT * FROM $table_name WHERE (srs_post_id = $post_id AND srs_date = '".$date."' )");
Proof of Concept
The PoC will attempt to exploit this issue to retrieve the admin password hash from the WordPress database by sending multiple specially crafted requests. The following is an example of how to use the PoC:
python3 blind_sqli_tra_2020_42.py http://192.168.1.195/wordpress
Solution
Upgrade to version 1.1.0Additional References
https://wordpress.org/plugins/srs-simple-hits-counter/https://github.com/tenable/poc/blob/master/WordPress/plugins/SRS_Simple_Hits_Counter/blind_sqli_tra_2020_42.py
Disclosure Timeline
All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.
Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.
For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.
If you have questions or corrections about this advisory, please email [email protected]