{"id":"CVE-2026-121519","kind":"vulnerability","aliases":["CVE-2026-121519"],"related":[],"title":"WordPress Social Slider Feed plugin: stored XSS via slidespeed setting","description":"The Social Slider Feed – Social Media Feed & Gallery Widgets plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'slidespeed' parameter in all versions up to, and including, 2.3.8 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The missing current_user_can() check in the Factory framework's connect() dispatcher allows Subscriber-level users to bypass the manage_options capability gate and both harvest a valid wis_edit_feed nonce and overwrite any feed's slidespeed setting, after which the stored payload fires on every public pageview embedding the feed shortcode.","summary":"The Social Slider Feed WordPress plugin up to and including 2.3.8 does not sanitize the slidespeed setting, and a missing capability check lets a Subscriber-level user overwrite it. The injected script then runs in the browser of every visitor who loads a page embedding the feed shortcode.","severity":"medium","cvss":6.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","social-slider-feed","wordpress"],"not_affected_if":["no-subscriber-accounts","plugin-not-installed"],"how_to_check":"- Check the installed version of the Social Slider Feed plugin in the WordPress admin plugin list, or in the plugin's main file header.\n- Look for the feed shortcode on public pages and inspect the slidespeed value for script content.","fix":null,"status":"open","published_at":"2026-11-07T03:17:08+00:00","first_seen_at":"2026-11-07T03:45:35+00:00","triaged_at":"2026-11-07T03:47:49+00:00","updated_at":"2026-11-07T03:47:49+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T03:47:49Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"WordPress Social Slider Feed plugin: stored XSS via slidespeed setting","impact":"medium","summary":"The Social Slider Feed WordPress plugin up to and including 2.3.8 does not sanitize the slidespeed setting, and a missing capability check lets a Subscriber-level user overwrite it. The injected script then runs in the browser of every visitor who loads a page embedding the feed shortcode.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","social-slider-feed","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"yes","worst_case":"injected script runs in every visitor's browser on feed pages","analyst_note":"Confirm the first fixed version of the Social Slider Feed plugin in the NVD or WordPress plugin changelog; the sources give no fixed version.","how_to_check":"- Check the installed version of the Social Slider Feed plugin in the WordPress admin plugin list, or in the plugin's main file header.\n- Look for the feed shortcode on public pages and inspect the slidespeed value for script content.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","no-subscriber-accounts"],"who_is_affected":"Sites running the Social Slider Feed plugin at version 2.3.8 or earlier that allow subscriber accounts to exist. Exposure depends on the plugin being active and feed shortcodes being embedded on public pages. Sites without the plugin, or with it updated past the affected range, are not affected.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000737,"input_tokens":4409,"output_tokens":592,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-121519':13A,16A '-2026':12A,15A '2.3.8':36B,106C 'access':126C,142C 'allow':159C 'arbitrari':131C 'attack':121C 'authent':120C 'browser':63B 'bypass':165C 'capabl':46B,169C 'check':47B,151C 'connect':157C 'cross':92C 'cross-sit':91C 'current':148C 'cve':11A,14A 'dispatch':158C 'due':107C 'edit':177C 'embed':71B,197C 'escap':114C 'everi':65B,194C 'execut':138C 'factori':154C 'feed':4A,24B,29B,73B,78C,81C,178C,183C,199C 'fire':192C 'framework':155C 'galleri':82C 'gate':170C 'harvest':173C 'host':20B 'includ':35B,105C 'inject':57B,130C,144C 'input':110C 'insuffici':109C 'let':48B 'level':52B,125C,162C 'load':68B 'make':116C 'manag':167C 'media':80C 'miss':45B,147C 'nonc':179C 'option':168C 'output':113C 'overwrit':54B,181C 'packag':17B 'page':70B,135C,145C 'pageview':196C 'paramet':98C 'payload':191C 'plugin':5A,31B,84C 'possibl':118C 'public':195C 'run':60B 'sanit':39B,111C 'script':58B,94C,133C 'self':19B 'self-host':18B 'set':10A,42B,186C 'shortcod':74B,200C 'site':93C 'slider':3A,23B,28B,77C 'slidespe':9A,41B,97C,185C 'social':2A,22B,27B,76C,79C 'social-slider-fe':21B 'store':6A,90C,190C 'subscrib':51B,124C,161C 'subscriber-level':50B,123C,160C 'user':53B,141C,149C,163C 'valid':175C 'version':101C 'via':8A,95C 'visitor':66B 'vulner':88C 'web':132C 'whenev':139C 'widget':83C 'wis':176C 'wordpress':1A,25B,30B,86C 'xss':7A","nicknames":[],"mitigations":[],"who_affected":"Sites running the Social Slider Feed plugin at version 2.3.8 or earlier that allow subscriber accounts to exist. Exposure depends on the plugin being active and feed shortcodes being embedded on public pages. Sites without the plugin, or with it updated past the affected range, are not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","package","selfhosted","socialsliderfeed","wordpress"],"campaign_type":null,"search_a":"'-121519':13A,16A '-2026':12A,15A 'cve':11A,14A 'feed':4A 'plugin':5A 'set':10A 'slider':3A 'slidespe':9A 'social':2A 'store':6A 'via':8A 'wordpress':1A 'xss':7A","search_b":"'2.3.8':36B 'browser':63B 'capabl':46B 'check':47B 'embed':71B 'everi':65B 'feed':24B,29B,73B 'host':20B 'includ':35B 'inject':57B 'let':48B 'level':52B 'load':68B 'miss':45B 'overwrit':54B 'packag':17B 'page':70B 'plugin':31B 'run':60B 'sanit':39B 'script':58B 'self':19B 'self-host':18B 'set':42B 'shortcod':74B 'slider':23B,28B 'slidespe':41B 'social':22B,27B 'social-slider-fe':21B 'subscrib':51B 'subscriber-level':50B 'user':53B 'visitor':66B 'wordpress':25B,30B","search_c":"'2.3.8':106C 'access':126C,142C 'allow':159C 'arbitrari':131C 'attack':121C 'authent':120C 'bypass':165C 'capabl':169C 'check':151C 'connect':157C 'cross':92C 'cross-sit':91C 'current':148C 'dispatch':158C 'due':107C 'edit':177C 'embed':197C 'escap':114C 'everi':194C 'execut':138C 'factori':154C 'feed':78C,81C,178C,183C,199C 'fire':192C 'framework':155C 'galleri':82C 'gate':170C 'harvest':173C 'includ':105C 'inject':130C,144C 'input':110C 'insuffici':109C 'level':125C,162C 'make':116C 'manag':167C 'media':80C 'miss':147C 'nonc':179C 'option':168C 'output':113C 'overwrit':181C 'page':135C,145C 'pageview':196C 'paramet':98C 'payload':191C 'plugin':84C 'possibl':118C 'public':195C 'sanit':111C 'script':94C,133C 'set':186C 'shortcod':200C 'site':93C 'slider':77C 'slidespe':97C,185C 'social':76C,79C 'store':90C,190C 'subscrib':124C,161C 'subscriber-level':123C,160C 'user':141C,149C,163C 'valid':175C 'version':101C 'via':95C 'vulner':88C 'web':132C 'whenev':139C 'widget':83C 'wis':176C 'wordpress':86C","first_public_at":"2026-11-07T03:17:08+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/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-121519","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121519","severity":null,"published_at":"2026-11-07T03:17:08+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":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}