Ditty is a WordPress plugin used to display custom content in various formats such as lists, sliders, and tickers. With over 50,000 active installations, Ditty has become a widely used tool for WordPress users who wish to showcase dynamic, rotating content on their websites. However, a critical vulnerability, CVE-2024-13357, has been discovered that allows attackers to exploit the plugin’s functionality to execute a Stored Cross-Site Scripting (XSS) attack, which can lead to account takeover and backdoor creation. This vulnerability specifically affects users with Author+ roles, allowing them to escalate their privileges and create an admin account.

CVECVE-2024-13357
Ditty – Responsive News Tickers, Sliders, and Lists < 3.1.52
CriticalHigh
All Time2 562 213
Active installations50 000+
Publicly PublishedApril 22, 2025
Last UpdatedApril 22, 2025
ResearcherDmitrii Ignatyev
OWASP TOP-10A7: Cross-Site Scripting (XSS)
PoCYes
ExploitNo
Reference https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-13357
https://wpscan.com/vulnerability/d134bb34-6324-4bc8-943e-4e743d00fcb2/
Plugin Security Certification by CleanTalk
Logo of the plugin

Join the community of developers who prioritize security. Highlight your plugin in the WordPress catalog.

PSC by Cleantalk

Timeline

November 14, 2024Plugin testing and vulnerability detection in the Ditty have been completed
November 14, 2024I contacted the author of the plugin and provided a vulnerability PoC with a description and recommendations for fixing
April 22, 2025Registered CVE-2024-13357

Discovery of the Vulnerability

During a security test of the Ditty plugin, a Stored XSS vulnerability was identified that enables an attacker to inject malicious JavaScript into the content displayed by the plugin. The vulnerability occurs when a user with sufficient privileges creates or edits a display and manipulates the title and font settings. The vulnerability allows for the execution of arbitrary JavaScript code, which could be used to steal session cookies or escalate privileges, leading to the creation of an admin account. This vulnerability was found to be easily exploitable by contributors or authors who can inject malicious code without proper sanitization or validation.

Understanding of XSS attack’s

Cross-Site Scripting (XSS) is a widespread vulnerability in web applications, including WordPress plugins, that allows an attacker to inject malicious scripts into web pages. XSS attacks occur when an attacker is able to inject scripts that execute in the context of the victim’s browser, which can lead to various types of attacks such as stealing session cookies, executing arbitrary code, or bypassing authentication mechanisms. In WordPress, XSS vulnerabilities have been exploited in plugins such as contact forms, comment sections, and content display tools like Ditty. Real-world examples include attackers leveraging XSS to perform actions such as session hijacking, redirecting users to phishing sites, or manipulating content for further exploitation.

Exploiting the XSS Vulnerability

To exploit CVE-2024-13357, an attacker with author+ privileges:

POC:

Create a new Display with title like "alert(1)". Go to settings (Title) of the list and change Display filed to "Top". In Font Settings change "Element" to h2 or smth else. Intercept last request and change here h2 to script. Go to editing page of display.

____

The potential risks of this vulnerability are severe. An attacker could use it to inject scripts that steal session cookies or perform other malicious activities on behalf of an administrator. In a real-world scenario, an attacker could craft an XSS payload that triggers when an admin or editor views the modified display. Once the script executes, the attacker could hijack the admin’s session, gain full control of the WordPress site, and perform administrative actions, including changing site settings, deleting posts, or creating new user accounts with higher privileges. This type of attack is especially dangerous when the attacker can exploit the vulnerability without the need for direct admin access, allowing contributors or authors to carry out the attack.

Recommendations for Improved Security

To mitigate the risk of CVE-2024-13357, Ditty plugin users should immediately update to the latest patched version that addresses this XSS vulnerability. The plugin developers should implement proper sanitization and validation of all user inputs, especially in areas where HTML or JavaScript is allowed. The plugin should ensure that all inputs in the display title and font settings are sanitized using WordPress functions such as esc_html()wp_kses(), or other appropriate sanitization methods. Furthermore, it is recommended that plugin developers adopt a Content Security Policy (CSP) to restrict the execution of unauthorized scripts. Site administrators should also consider limiting the roles and permissions granted to users, ensuring that only trusted users have access to potentially risky settings. Regular security audits and testing for XSS vulnerabilities can help identify and address such issues before they are exploited. To prevent this type of attacks vendor used our methods of prevention.

By taking proactive measures to address Stored XSS vulnerabilities like CVE-2024-13357, 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-13357 – Ditty – Stored XSS to Admin Creation (Author+) – POC

Leave a Reply

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