CVE-2025-13962
Stored XSS in Divelogs Widget WordPress Plugin Allows Script Injection
Publication date: 2025-12-12
Last updated on: 2025-12-12
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| wordpress | divelogs_widget | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The Divelogs Widget plugin for WordPress has a Stored Cross-Site Scripting (XSS) vulnerability in its 'latestdive' shortcode in all versions up to 1.5. This occurs because the plugin does not properly sanitize or escape user-supplied attributes, allowing authenticated users with contributor-level access or higher to inject malicious scripts. These scripts execute whenever any user accesses the affected page.
How can this vulnerability impact me? :
This vulnerability can allow attackers with contributor-level access to inject malicious scripts into web pages, which will execute in the browsers of users who visit those pages. This can lead to theft of user credentials, session hijacking, defacement, or other malicious actions impacting the website's users and integrity.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
To detect this vulnerability, you can search for usage of the '[latestdive]' shortcode in WordPress posts or pages, especially looking for suspicious or malicious script injections in the shortcode attributes such as 'user', 'dive', or 'lang'. Additionally, you can inspect the source code of pages containing the shortcode for unexpected <script> tags loading dive data. Commands to help detect this include: 1) Using WP-CLI to search posts: wp post list --post_type=post --format=ids | xargs -I % wp post get % --field=post_content | grep '\[latestdive' 2) Searching the database directly for shortcode usage: SELECT ID, post_content FROM wp_posts WHERE post_content LIKE '%[latestdive%'; 3) Using network monitoring tools to detect unusual script loads from divelogs.de or divelogs.org domains. These methods help identify if the vulnerable shortcode is present and potentially exploited. [1]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include: 1) Update the Divelogs Widget plugin to version 1.6 or later, which contains the security fix addressing the stored XSS vulnerability. 2) If updating is not immediately possible, restrict contributor-level and higher users from adding or editing content with the '[latestdive]' shortcode to prevent exploitation. 3) Review and sanitize existing content using the shortcode to remove any injected scripts. 4) Monitor and audit user inputs and shortcode usage for suspicious activity. 5) Apply security best practices such as using a Web Application Firewall (WAF) to block malicious payloads targeting this vulnerability. [2]