{"id":"CVE-2026-4084","aliases":["EUVD-2026-13994","GHSA-fm6h-hmg3-46c3"],"status":"published","title":"fyyd podcast shortcodes \u003c= 0.3.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'color' Shortcode Attribute","description":"The fyyd podcast shortcodes plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'fyyd-podcast', 'fyyd-episode', and 'fyyd' shortcodes in all versions up to, and including, 0.3.1. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes such as 'color', 'podcast_id', and 'podcast_slug'. These attributes are directly concatenated into inline JavaScript within single-quoted string arguments without any escaping or sanitization, allowing an attacker to break out of the JavaScript string context. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","severity":{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00266,"percentile":0.18675,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-03-21T03:26:41Z","modified":"2026-06-17T10:55:57Z","products":[{"vendor":"cbednarek","product":"fyyd podcast shortcodes"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3f9d57ae-b238-43db-8eee-ccab499b1cbc?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/trunk/fyyd-podcast-shortcodes.php#L65"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/tags/0.3.1/fyyd-podcast-shortcodes.php#L65"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/trunk/fyyd-podcast-shortcodes.php#L48"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/tags/0.3.1/fyyd-podcast-shortcodes.php#L48"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/trunk/fyyd-podcast-shortcodes.php#L60"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/tags/0.3.1/fyyd-podcast-shortcodes.php#L60"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/trunk/fyyd-podcast-shortcodes.php#L100"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/tags/0.3.1/fyyd-podcast-shortcodes.php#L100"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/trunk/fyyd-podcast-shortcodes.php#L224"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/tags/0.3.1/fyyd-podcast-shortcodes.php#L224"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/trunk/fyyd-podcast-shortcodes.php#L141"},{"url":"https://plugins.trac.wordpress.org/browser/fyyd-podcast-shortcodes/tags/0.3.1/fyyd-podcast-shortcodes.php#L141"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-4084"},{"url":"https://github.com/advisories/GHSA-fm6h-hmg3-46c3"}],"sources":{"cve":[{"id":"CVE-2026-4084","title":"fyyd podcast shortcodes \u003c= 0.3.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'color' Shortcode Attribute","description":"The fyyd podcast shortcodes plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'fyyd-podcast', 'fyyd-episode', and 'fyyd' shortcodes in all versions up to, and including, 0.3.1. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes such as 'color', 'podcast_id', and 'podcast_slug'. These attributes are directly concatenated into inline JavaScript within single-quoted string arguments without any escaping or sanitization, allowing an attacker to break out of the JavaScript string context. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","status":"published","published":"2026-03-21T03:26:41.913Z","modified":"2026-04-08T16:48:14.209Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:19:59.761005Z"}],"euvd":[{"id":"EUVD-2026-13994","description":"The fyyd podcast shortcodes plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'fyyd-podcast', 'fyyd-episode', and 'fyyd' shortcodes in all versions up to, and including, 0.3.1. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes such as 'color', 'podcast_id', and 'podcast_slug'. These attributes are directly concatenated into inline JavaScript within single-quoted string arguments without any escaping or sanitization, allowing an attacker to break out of the JavaScript string context. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","status":"published","published":"2026-03-21T03:26:41Z","modified":"2026-04-08T16:48:14Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T19:25:01.825384Z"}],"ghsa":[{"id":"GHSA-fm6h-hmg3-46c3","title":"The fyyd podcast shortcodes plugin for WordPress is vulnerable to Stored Cross-Site Scripting via...","description":"The fyyd podcast shortcodes plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'fyyd-podcast', 'fyyd-episode', and 'fyyd' shortcodes in all versions up to, and including, 0.3.1. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes such as 'color', 'podcast_id', and 'podcast_slug'. These attributes are directly concatenated into inline JavaScript within single-quoted string arguments without any escaping or sanitization, allowing an attacker to break out of the JavaScript string context. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","status":"published","published":"2026-03-21T06:30:25Z","modified":"2026-03-21T06:30:40Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:06:45.979177Z"}],"nvd":[{"id":"CVE-2026-4084","description":"The fyyd podcast shortcodes plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'fyyd-podcast', 'fyyd-episode', and 'fyyd' shortcodes in all versions up to, and including, 0.3.1. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes such as 'color', 'podcast_id', and 'podcast_slug'. These attributes are directly concatenated into inline JavaScript within single-quoted string arguments without any escaping or sanitization, allowing an attacker to break out of the JavaScript string context. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","status":"published","published":"2026-03-21T04:17:40.81Z","modified":"2026-06-17T10:55:57.993Z","cvss":[{"version":"3.1","score":6.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:10.126802Z"}]}}
