CVE-2026-1909
Stored XSS in WaveSurfer-WP Audio Shortcode Allows Script Injection
Publication date: 2026-02-06
Last updated on: 2026-02-06
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| x-raym | wavesurfer-wp | to 2.8.3 (inc) |
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 WaveSurfer-WP plugin for WordPress, in all versions up to and including 2.8.3, is vulnerable to Stored Cross-Site Scripting (XSS) due to insufficient input sanitization and output escaping on the 'src' attribute of its audio shortcode.
This vulnerability allows authenticated attackers with Contributor-level access or higher to inject arbitrary web scripts into pages. These scripts execute whenever any user accesses the injected page, potentially compromising user interactions.
How can this vulnerability impact me? :
This vulnerability can lead to the execution of malicious scripts in the context of the affected website, which may result in unauthorized actions such as stealing user credentials, session hijacking, defacement, or spreading malware.
Since the attack requires Contributor-level access or higher, it could be exploited by users who have some level of trusted access but are not administrators, increasing the risk of insider threats or compromised accounts.
The CVSS v3.1 base score of 6.4 indicates a medium severity impact with low attack complexity but requiring privileges, affecting confidentiality and integrity.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves Stored Cross-Site Scripting (XSS) via the 'src' attribute in the WaveSurfer-WP plugin's audio shortcode. Detection involves identifying pages or posts where the shortcode is used with potentially malicious script injections.
To detect exploitation attempts or presence of injected scripts, you can search your WordPress database for suspicious shortcode usages containing script tags or unusual URL schemes in the 'src' attribute.
- Use a database query to find posts containing the audio shortcode with suspicious content, for example (replace wp_posts with your table prefix): SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%[audio src="%<script%"%' OR post_content LIKE '%[audio src="javascript:%';
- Use command-line tools like grep to scan exported content or backups for suspicious shortcode usage: grep -r '\[audio src=.*<script' /path/to/wordpress/wp-content/uploads/
- Monitor HTTP requests to your site for unusual query parameters or POST data that might include script injections targeting the shortcode.
Note that no specific detection commands or tools are provided in the available resources, so these suggestions are based on the nature of the vulnerability and typical detection methods for stored XSS in WordPress plugins.
What immediate steps should I take to mitigate this vulnerability?
[{'type': 'paragraph', 'content': "The primary mitigation is to update the WaveSurfer-WP plugin to version 2.8.4 or later, which includes a security fix that sanitizes the 'src' attribute in the audio shortcode to allow only safe URL schemes (http and https)."}, {'type': 'paragraph', 'content': 'If immediate updating is not possible, restrict Contributor-level and higher user permissions to trusted users only, as the vulnerability requires authenticated users with at least Contributor access to exploit.'}, {'type': 'paragraph', 'content': "Consider implementing Web Application Firewall (WAF) rules to detect and block attempts to inject scripts via the shortcode 'src' attribute."}, {'type': 'paragraph', 'content': 'Review and sanitize existing content in your WordPress database to remove any malicious scripts injected via the vulnerable shortcode.'}] [3]