{"id":"CVE-2026-127115","kind":"vulnerability","aliases":["CVE-2026-127115"],"related":[],"title":"BuddyForms WordPress plugin: unauthenticated stored XSS via form content","description":"The BuddyForms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'buddyforms_form_content' parameter in all versions up to, and including, 2.10.6 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 is exploitable when a form configured with the public_submit option is published — a condition met by the plugin's bundled Post Simple template out of the box.","summary":"The BuddyForms WordPress plugin does not sanitize the buddyforms_form_content parameter, so an unauthenticated visitor can store a script on a page. The script runs in the browser of anyone who opens that page.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["buddyforms","package","wordpress"],"not_affected_if":["no-buddyforms","no-public-submit-form"],"how_to_check":"- Check the installed BuddyForms version in the WordPress admin plugin list or with `wp plugin get buddyforms --field=version`\n- Look for published forms that use the public_submit option, including the bundled Post Simple template","fix":"- BuddyForms plugin: versions up to and including `2.10.6` are affected; the sources do not state a fixed version","status":"open","published_at":"2026-11-14T16:17:04+00:00","first_seen_at":"2026-11-14T16:30:58+00:00","triaged_at":"2026-11-14T16:31:34+00:00","updated_at":"2026-11-14T16:31:34+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-14T16:31:34Z","model":"claude-haiku-5-5","output":{"fix":"- BuddyForms plugin: versions up to and including `2.10.6` are affected; the sources do not state a fixed version","reach":"internet","title":"BuddyForms WordPress plugin: unauthenticated stored XSS via form content","impact":"medium","summary":"The BuddyForms WordPress plugin does not sanitize the buddyforms_form_content parameter, so an unauthenticated visitor can store a script on a page. The script runs in the browser of anyone who opens that page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","buddyforms"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker script runs in visitors' browsers, stealing sessions or content","analyst_note":"Confirm the fixed version and vendor advisory for BuddyForms beyond 2.10.6; the NVD entry gives none.","how_to_check":"- Check the installed BuddyForms version in the WordPress admin plugin list or with `wp plugin get buddyforms --field=version`\n- Look for published forms that use the public_submit option, including the bundled Post Simple template","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["no-buddyforms","no-public-submit-form"],"who_is_affected":"Sites running the BuddyForms WordPress plugin up to and including 2.10.6 that publish a form with the public_submit option, which the bundled Post Simple template does by default. Sites without BuddyForms or without a published public_submit form are not exposed through this flaw.","user_interaction":"yes","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000753,"input_tokens":4645,"output_tokens":576,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-127115':12A,15A '-2026':11A,14A '2.10.6':80C 'access':109C 'anyon':49B 'arbitrari':98C 'attack':95C 'box':141C 'browser':47B 'buddyform':1A,16B,20B,27B,55C,69C 'bundl':134C 'condit':128C 'configur':119C 'content':9A,29B,71C 'cross':64C 'cross-sit':63C 'cve':10A,13A 'due':81C 'escap':88C 'execut':105C 'exploit':115C 'form':8A,28B,70C,118C 'includ':79C 'inject':97C,111C 'input':84C 'insuffici':83C 'make':90C 'met':129C 'open':51B 'option':124C 'output':87C 'packag':17B 'page':41B,53B,102C,112C 'paramet':30B,72C 'plugin':3A,22B,56C,132C 'possibl':92C 'post':135C 'public':122C 'publish':126C 'run':44B 'sanit':25B,85C 'script':38B,43B,66C,100C 'simpl':136C 'site':65C 'store':5A,36B,62C 'submit':123C 'templat':137C 'unauthent':4A,33B,94C 'user':108C 'version':75C 'via':7A,67C 'visitor':34B 'vulner':60C 'web':99C 'whenev':106C 'wordpress':2A,18B,21B,58C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"Sites running the BuddyForms WordPress plugin up to and including 2.10.6 that publish a form with the public_submit option, which the bundled Post Simple template does by default. Sites without BuddyForms or without a published public_submit form are not exposed through this flaw.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["buddyforms","medium","package","wordpress"],"campaign_type":null,"search_a":"'-127115':12A,15A '-2026':11A,14A 'buddyform':1A 'content':9A 'cve':10A,13A 'form':8A 'plugin':3A 'store':5A 'unauthent':4A 'via':7A 'wordpress':2A 'xss':6A","search_b":"'anyon':49B 'browser':47B 'buddyform':16B,20B,27B 'content':29B 'form':28B 'open':51B 'packag':17B 'page':41B,53B 'paramet':30B 'plugin':22B 'run':44B 'sanit':25B 'script':38B,43B 'store':36B 'unauthent':33B 'visitor':34B 'wordpress':18B,21B","search_c":"'2.10.6':80C 'access':109C 'arbitrari':98C 'attack':95C 'box':141C 'buddyform':55C,69C 'bundl':134C 'condit':128C 'configur':119C 'content':71C 'cross':64C 'cross-sit':63C 'due':81C 'escap':88C 'execut':105C 'exploit':115C 'form':70C,118C 'includ':79C 'inject':97C,111C 'input':84C 'insuffici':83C 'make':90C 'met':129C 'option':124C 'output':87C 'page':102C,112C 'paramet':72C 'plugin':56C,132C 'possibl':92C 'post':135C 'public':122C 'publish':126C 'sanit':85C 'script':66C,100C 'simpl':136C 'site':65C 'store':62C 'submit':123C 'templat':137C 'unauthent':94C 'user':108C 'version':75C 'via':67C 'vulner':60C 'web':99C 'whenev':106C 'wordpress':58C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-14T16:17:04+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-127115","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-127115","severity":null,"published_at":"2026-11-14T16:17:04+00:00","modified_at":"2026-11-14T16:17:04+00:00","first_seen_at":"2026-11-14T16:30:58+00:00","fetched_at":"2026-11-14T16:30:58+00:00","note":null}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}