CVE-2024-8493 is a critical vulnerability identified in The Events Calendar plugin, a widely used WordPress plugin with over 700,000 installations. The vulnerability allows attackers with editor-level access to inject malicious JavaScript (JS) into the plugin’s settings, leading to account takeovers and backdoor creation. Improper input sanitization, particularly in the “Data time separator” field, exposes WordPress sites to this Stored XSS attack, potentially compromising the entire website.

CVECVE-2024-8493
PluginThe Events Calendar < 6.6.4
CriticalHigh
All Time63 620 343
Active installations700 000+
Publicly PublishedSeptember 14, 2024
Last UpdatedSeptember 14, 2024
ResearcherDmitrii Ignatyev
OWASP TOP-10A7: Cross-Site Scripting (XSS)
PoCYes
ExploitNo
Reference https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-8493
https://wpscan.com/vulnerability/561b3185-501a-4a75-b880-226b159c0431/
Plugin Security Certification by CleanTalk
Logo of the plugin

Timeline

August 2, 2024Plugin testing and vulnerability detection in the The Events Calendar have been completed
August 2, 2024I contacted the author of the plugin and provided a vulnerability PoC with a description and recommendations for fixing
September 14, 2024Registered CVE-2024-8493

Discovery of the Vulnerability

During security testing, it was discovered that the “Data time separator” field in The Events Calendar plugin’s settings is vulnerable to stored XSS attacks. This flaw occurs because the plugin does not adequately sanitize user input, allowing attackers to insert harmful JavaScript code. Once saved, the injected script executes whenever an administrator or privileged user interacts with the plugin.

Understanding of XSS attack’s

Cross-Site Scripting (XSS) is a common and dangerous web vulnerability that arises when input is not properly sanitized, allowing attackers to inject malicious code into web pages. Stored XSS, in particular, occurs when the malicious script is stored in the database and executed whenever a user interacts with the infected content. In WordPress, XSS vulnerabilities can lead to session hijacking, data theft, or the compromise of admin accounts.

In CVE-2024-8493, the vulnerability exists in The Events Calendar plugin, where the “Data time separator” field allows contributors and editors to insert JavaScript that will be executed in the browser of any user viewing the event settings or interacting with the plugin. This can be exploited to hijack admin accounts, create persistent backdoors, or further compromise the WordPress site.

Exploiting the XSS Vulnerability

To exploit CVE-2024-8493, an attacker with editor-level access creates a new event and injects a malicious payload into the “Data time separator” field. A typical payload could be:

POC:

You should create a new event. Change "Data time separator" field  in main settings to "Malicious JS code eval() and etc. For example <img src=x onerror=alert(1)>	 -> Save Settings (Admins and editors are allowed to use JS in posts/pages/comments/etc, so the unfiltered_html capability should be disallowed when testing for Stored XSS using such roles)

____

The risks associated with CVE-2024-8493 are significant. A successful exploitation can lead to admin account hijacking, enabling the attacker to take full control of the WordPress site. This can result in unauthorized access to sensitive information, site defacement, or the use of the compromised site to launch further attacks.

In real-world scenarios, attackers could use this vulnerability to install persistent backdoors, redirect site visitors to malicious pages, or steal customer data from compromised e-commerce sites. The potential for widespread damage is particularly concerning for high-traffic websites or businesses that rely on The Events Calendar plugin for scheduling and event management.

Recommendations for Improved Security

To mitigate the risks of CVE-2024-8493, WordPress administrators should update The Events Calendar plugin to the latest version as soon as a patch is available. Developers must implement strict input sanitization to ensure that fields like the “Data time separator” cannot accept JavaScript or other harmful code.

Additionally, administrators should review and restrict user roles and permissions, limiting the ability of contributors and editors to insert unfiltered HTML or JavaScript. Installing a security plugin that monitors for XSS attacks and blocks malicious scripts can provide an extra layer of protection. Regular security audits and plugin updates should also be conducted to prevent future vulnerabilities.

By taking proactive measures to address Stored XSS vulnerabilities like CVE-2024-8493, WordPress website owners can enhance their security posture and safeguard against potential exploitation. Stay vigilant, stay secure.

#WordPressSecurity #StoredXSS #WebsiteSafety #StayProtected #HighVulnerability

Use CleanTalk solutions to improve the security of your website

Dmitrii I.
CVE-2024-8493 – The Events Calendar – Stored XSS to backdoor creation – POC

Leave a Reply

Your email address will not be published. Required fields are marked *