CVE-2026-1903
Stored XSS in Ravelry Designs Widget WordPress Plugin
Publication date: 2026-02-14
Last updated on: 2026-02-14
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| ravelry | designs_widget | to 1.0.0 (inc) |
| shellbot | ravelry_designs_widget | to 1.0.0 (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 Ravelry Designs Widget plugin for WordPress has a Stored Cross-Site Scripting (XSS) vulnerability in the 'layout' attribute of the 'sb_ravelry_designs' shortcode. This vulnerability exists in all versions up to and including 1.0.0 due to insufficient input sanitization and output escaping of user-supplied attributes.
An authenticated attacker with contributor-level access or higher can exploit this vulnerability to inject arbitrary web scripts into pages. These scripts will execute whenever any user accesses the injected page.
How can this vulnerability impact me? :
This vulnerability allows attackers with contributor-level access or above to inject malicious scripts into the website pages. These scripts can execute in the context of users visiting those pages, potentially leading to theft of user credentials, session hijacking, defacement, or distribution of malware.
Because the vulnerability is a Stored Cross-Site Scripting issue, the malicious code persists on the site and affects all users who view the compromised pages.
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 'layout' attribute of the 'sb_ravelry_designs' shortcode in the Ravelry Designs Widget plugin for WordPress. Detection involves identifying if the vulnerable plugin version (up to and including 1.0.0) is installed and if the shortcode is used with untrusted input.
To detect exploitation attempts or presence of malicious scripts, you can search your WordPress database for injected scripts in posts or pages using the shortcode. For example, you can run SQL queries to find suspicious script tags or unusual content in the 'layout' attribute.
- Search WordPress posts for suspicious script injections in the 'layout' attribute: `SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%[sb_ravelry_designs%layout=%<script%'`
- Use command-line tools like grep to scan your WordPress content files or backups for injected scripts: `grep -r --include='*.php' '<script' /path/to/wordpress/wp-content/`
- Monitor HTTP traffic for suspicious payloads targeting the shortcode or unusual POST requests from contributor-level users that include script tags in the 'layout' parameter.
Note that no specific detection commands or tools are provided in the available resources, so these suggestions are based on typical detection methods for stored XSS in WordPress plugins.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include removing or disabling the vulnerable Ravelry Designs Widget plugin if it is installed and running a version up to 1.0.0.
Since the vulnerability allows authenticated users with contributor-level access and above to inject scripts, restricting user permissions to trusted users only can reduce risk.
Review and sanitize any content using the 'sb_ravelry_designs' shortcode, especially the 'layout' attribute, to remove any injected scripts.
Monitor and audit user activity for suspicious behavior related to shortcode usage.
Apply any available patches or updates from the plugin author once released. If no update is available, consider removing the plugin or replacing it with a secure alternative.