{"id":"CVE-2026-121515","kind":"vulnerability","aliases":["CVE-2026-121515"],"related":[],"title":"FV Flowplayer Video Player WordPress plugin: stored script injection via comments","description":"The FV Flowplayer Video Player plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'comment' parameter in all versions up to, and including, 7.5.56.7212 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires the 'Parse Vimeo and YouTube links' option to be enabled, and the injected comment must be approved before the script executes for site visitors.","summary":"The FV Flowplayer Video Player plugin for WordPress accepts unsanitized input in its 'comment' parameter, so an unauthenticated attacker can store a script in a page. The script runs in the browser of any visitor who opens that page once the comment is approved.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["flowplayer","package","self-hosted","wordpress"],"not_affected_if":["comments-not-approved","option-disabled","plugin-not-installed"],"how_to_check":"- Check whether the FV Flowplayer Video Player plugin is installed and what version it is in the WordPress admin plugin list.\n- Check whether the 'Parse Vimeo and YouTube links' option is enabled in the plugin settings.\n- Look for injected script tags in approved comments on pages that embed Flowplayer videos.","fix":"- The FV Flowplayer Video Player plugin: versions up to and including `7.5.56.7212` are affected; the sources do not name a fixed version.","status":"open","published_at":"2026-11-07T03:17:07+00:00","first_seen_at":"2026-11-07T03:45:35+00:00","triaged_at":"2026-11-07T03:47:58+00:00","updated_at":"2026-11-07T03:47:58+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T03:47:58Z","model":"claude-haiku-5-5","output":{"fix":"- The FV Flowplayer Video Player plugin: versions up to and including `7.5.56.7212` are affected; the sources do not name a fixed version.","reach":"internet","title":"FV Flowplayer Video Player WordPress plugin: stored script injection via comments","impact":"medium","summary":"The FV Flowplayer Video Player plugin for WordPress accepts unsanitized input in its 'comment' parameter, so an unauthenticated attacker can store a script in a page. The script runs in the browser of any visitor who opens that page once the comment is approved.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","flowplayer","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"visitors' browsers run attacker-supplied scripts on affected pages","analyst_note":"Confirm the fixed version of FV Flowplayer Video Player for this CVE; the sources give only the affected range (NVD link in the source list).","how_to_check":"- Check whether the FV Flowplayer Video Player plugin is installed and what version it is in the WordPress admin plugin list.\n- Check whether the 'Parse Vimeo and YouTube links' option is enabled in the plugin settings.\n- Look for injected script tags in approved comments on pages that embed Flowplayer videos.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","option-disabled","comments-not-approved"],"who_is_affected":"Only WordPress sites running the FV Flowplayer Video Player plugin up to and including 7.5.56.7212, with the 'Parse Vimeo and YouTube links' option enabled, are exposed. The attack needs an injected comment to be approved before visitors are affected. Sites without the plugin, or with that option off, can skip it.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000773,"input_tokens":4332,"output_tokens":679,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-121515':14A,17A '-2026':13A,16A '7.5.56.7212':95C 'accept':32B 'access':124C 'approv':67B,146C 'arbitrari':113C 'attack':42B,110C 'browser':55B 'comment':11A,37B,65B,86C,143C 'cross':81C 'cross-sit':80C 'cve':12A,15A 'due':96C 'enabl':139C 'escap':103C 'execut':120C,150C 'flowplay':2A,18B,26B,70C 'fv':1A,25B,69C 'host':22B 'includ':94C 'inject':9A,112C,126C,142C 'input':34B,99C 'insuffici':98C 'link':135C 'make':105C 'must':144C 'open':60B 'option':136C 'output':102C 'packag':19B 'page':49B,62B,117C,127C 'paramet':38B,87C 'pars':131C 'player':4A,28B,72C 'plugin':6A,29B,73C 'possibl':107C 'requir':129C 'run':52B 'sanit':100C 'script':8A,46B,51B,83C,115C,149C 'self':21B 'self-host':20B 'site':82C,152C 'store':7A,44B,79C 'unauthent':41B,109C 'unsanit':33B 'user':123C 'version':90C 'via':10A,84C 'video':3A,27B,71C 'vimeo':132C 'visitor':58B,153C 'vulner':77C 'web':114C 'whenev':121C 'wordpress':5A,23B,31B,75C 'youtub':134C","nicknames":[],"mitigations":[],"who_affected":"Only WordPress sites running the FV Flowplayer Video Player plugin up to and including 7.5.56.7212, with the 'Parse Vimeo and YouTube links' option enabled, are exposed. The attack needs an injected comment to be approved before visitors are affected. Sites without the plugin, or with that option off, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["flowplayer","medium","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-121515':14A,17A '-2026':13A,16A 'comment':11A 'cve':12A,15A 'flowplay':2A 'fv':1A 'inject':9A 'player':4A 'plugin':6A 'script':8A 'store':7A 'via':10A 'video':3A 'wordpress':5A","search_b":"'accept':32B 'approv':67B 'attack':42B 'browser':55B 'comment':37B,65B 'flowplay':18B,26B 'fv':25B 'host':22B 'input':34B 'open':60B 'packag':19B 'page':49B,62B 'paramet':38B 'player':28B 'plugin':29B 'run':52B 'script':46B,51B 'self':21B 'self-host':20B 'store':44B 'unauthent':41B 'unsanit':33B 'video':27B 'visitor':58B 'wordpress':23B,31B","search_c":"'7.5.56.7212':95C 'access':124C 'approv':146C 'arbitrari':113C 'attack':110C 'comment':86C,143C 'cross':81C 'cross-sit':80C 'due':96C 'enabl':139C 'escap':103C 'execut':120C,150C 'flowplay':70C 'fv':69C 'includ':94C 'inject':112C,126C,142C 'input':99C 'insuffici':98C 'link':135C 'make':105C 'must':144C 'option':136C 'output':102C 'page':117C,127C 'paramet':87C 'pars':131C 'player':72C 'plugin':73C 'possibl':107C 'requir':129C 'sanit':100C 'script':83C,115C,149C 'site':82C,152C 'store':79C 'unauthent':109C 'user':123C 'version':90C 'via':84C 'video':71C 'vimeo':132C 'visitor':153C 'vulner':77C 'web':114C 'whenev':121C 'wordpress':75C 'youtub':134C","first_public_at":"2026-11-07T03:17:07+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-121515","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121515","severity":null,"published_at":"2026-11-07T03:17:07+00:00","modified_at":"2026-11-07T03:17:08+00:00","first_seen_at":"2026-11-07T03:45:35+00:00","fetched_at":"2026-11-07T03:45:35+00:00","note":null}],"documents":[{"id":92407,"url":"https://github.com/foliovision/fv-wordpress-flowplayer/commit/9f224f71eb16ad01330df46c30b89e8e582cf8c8","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}