{"id":"CVE-2026-118047","kind":"vulnerability","aliases":["CVE-2026-118047"],"related":[],"title":"Falang WordPress plugin: subscriber can inject scripts into pages","description":"The Falang multilanguage for WordPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'falang_term[<taxonomy>][<locale>][<field>] (via order[] driving wp_update_term)' parameter in all versions up to, and including, 1.4.6 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 exploit is made reliable because the required 'falang' nonce is disclosed to any logged-in user through the equally unprotected wp_ajax_falang_menu_translation handler, requiring no elevated access to obtain.","summary":"The Falang multilanguage plugin for WordPress fails to sanitize term translation fields, so a logged-in subscriber can store malicious scripts. The scripts run in the browser of any user who opens an affected page.","severity":"medium","cvss":6.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["falang","package","self-hosted","wordpress"],"not_affected_if":["auth-required","plugin-not-installed"],"how_to_check":"- Check whether the Falang multilanguage plugin is installed and active on the WordPress site (Plugins list in wp-admin, or the `falang` folder under wp-content/plugins).\n- Check the installed plugin version against the affected range: all versions up to and including `1.4.6`.","fix":null,"status":"open","published_at":"2026-11-07T12:17:43+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","triaged_at":"2026-11-07T12:49:06+00:00","updated_at":"2026-11-07T12:49:06+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T12:49:06Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Falang WordPress plugin: subscriber can inject scripts into pages","impact":"medium","summary":"The Falang multilanguage plugin for WordPress fails to sanitize term translation fields, so a logged-in subscriber can store malicious scripts. The scripts run in the browser of any user who opens an affected page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","falang","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"yes","worst_case":"Injected scripts run in visitors' browsers, stealing sessions or actions","analyst_note":"Confirm the fixed version of Falang beyond 1.4.6 from the plugin's changelog or the NVD entry for CVE-2026-118047.","how_to_check":"- Check whether the Falang multilanguage plugin is installed and active on the WordPress site (Plugins list in wp-admin, or the `falang` folder under wp-content/plugins).\n- Check the installed plugin version against the affected range: all versions up to and including `1.4.6`.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","auth-required"],"who_is_affected":"Sites running the Falang multilanguage plugin at version 1.4.6 or earlier, where subscriber-level accounts exist, such as sites that allow user registration. Sites without the plugin, or with the plugin updated past the affected range, are not exposed. The sources do not state a fixed version.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000724,"input_tokens":4382,"output_tokens":572,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-118047':12A,15A '-2026':11A,14A '1.4.6':92C 'access':112C,128C,163C 'affect':56B 'ajax':155C 'arbitrari':117C 'attack':107C 'authent':106C 'browser':49B 'cross':71C 'cross-sit':70C 'cve':10A,13A 'disclos':143C 'drive':80C 'due':93C 'elev':162C 'equal':152C 'escap':100C 'execut':124C 'exploit':133C 'fail':28B 'falang':1A,16B,23B,59C,76C,140C,156C 'field':33B 'handler':159C 'host':20B 'includ':91C 'inject':6A,116C,130C 'input':96C 'insuffici':95C 'level':111C 'log':37B,147C 'logged-in':36B,146C 'made':135C 'make':102C 'malici':42B 'menu':157C 'multilanguag':24B,60C 'nonc':141C 'obtain':165C 'open':54B 'order':79C 'output':99C 'packag':17B 'page':9A,57B,121C,131C 'paramet':84C 'plugin':3A,25B,63C 'possibl':104C 'reliabl':136C 'requir':139C,160C 'run':46B 'sanit':30B,97C 'script':7A,43B,45B,73C,119C 'self':19B 'self-host':18B 'site':72C 'store':41B,69C 'subscrib':4A,39B,110C 'subscriber-level':109C 'term':31B,77C,83C 'translat':32B,158C 'unprotect':153C 'updat':82C 'user':52B,127C,149C 'version':87C 'via':74C,78C 'vulner':67C 'web':118C 'whenev':125C 'wordpress':2A,21B,27B,62C,65C 'wp':81C,154C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Falang multilanguage plugin at version 1.4.6 or earlier, where subscriber-level accounts exist, such as sites that allow user registration. Sites without the plugin, or with the plugin updated past the affected range, are not exposed. The sources do not state a fixed version.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["falang","medium","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-118047':12A,15A '-2026':11A,14A 'cve':10A,13A 'falang':1A 'inject':6A 'page':9A 'plugin':3A 'script':7A 'subscrib':4A 'wordpress':2A","search_b":"'affect':56B 'browser':49B 'fail':28B 'falang':16B,23B 'field':33B 'host':20B 'log':37B 'logged-in':36B 'malici':42B 'multilanguag':24B 'open':54B 'packag':17B 'page':57B 'plugin':25B 'run':46B 'sanit':30B 'script':43B,45B 'self':19B 'self-host':18B 'store':41B 'subscrib':39B 'term':31B 'translat':32B 'user':52B 'wordpress':21B,27B","search_c":"'1.4.6':92C 'access':112C,128C,163C 'ajax':155C 'arbitrari':117C 'attack':107C 'authent':106C 'cross':71C 'cross-sit':70C 'disclos':143C 'drive':80C 'due':93C 'elev':162C 'equal':152C 'escap':100C 'execut':124C 'exploit':133C 'falang':59C,76C,140C,156C 'handler':159C 'includ':91C 'inject':116C,130C 'input':96C 'insuffici':95C 'level':111C 'log':147C 'logged-in':146C 'made':135C 'make':102C 'menu':157C 'multilanguag':60C 'nonc':141C 'obtain':165C 'order':79C 'output':99C 'page':121C,131C 'paramet':84C 'plugin':63C 'possibl':104C 'reliabl':136C 'requir':139C,160C 'sanit':97C 'script':73C,119C 'site':72C 'store':69C 'subscrib':110C 'subscriber-level':109C 'term':77C,83C 'translat':158C 'unprotect':153C 'updat':82C 'user':127C,149C 'version':87C 'via':74C,78C 'vulner':67C 'web':118C 'whenev':125C 'wordpress':62C,65C 'wp':81C,154C","first_public_at":"2026-11-07T12:17:43+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-118047","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118047","severity":null,"published_at":"2026-11-07T12:17:43+00:00","modified_at":"2026-11-07T12:17:43+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","fetched_at":"2026-11-07T12:47:08+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"}