{"id":"CVE-2026-116537","kind":"vulnerability","aliases":["CVE-2026-116537"],"related":[],"title":"Link Library WordPress plugin: stored XSS via link description field","description":"The Link Library plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'link_description' parameter in all versions up to, and including, 7.10.0 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 exploit requires the site administrator to have enabled the non-default 'Convert [] to <> in Link Description and Notes' (use_html_tags) setting; when this option is off, the bracket-to-angle-bracket conversion never runs and the payload is never reconstructed into executable HTML.","summary":"The Link Library plugin for WordPress stores attacker-supplied script in the link_description field without proper sanitization or escaping. When a user opens a page showing the injected link, the script runs in their browser.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"link-library","fixed":["7.10.1"],"affected":"<= 7.10.0","ecosystem":"wordpress"}],"ecosystems":[],"tags":["link-library","package","self-hosted","wordpress"],"not_affected_if":["default-config","plugin-not-installed"],"how_to_check":"- In WordPress admin > Plugins, check whether Link Library is installed and its version is 7.10.0 or lower.\n- In Link Library settings, check whether 'Convert [] to <> in Link Description and Notes' (use_html_tags) is enabled; the exploit needs it on (it is off by default).","fix":"Update Link Library to 7.10.1 (reported fixed by Wordfence and third-party trackers; the plugin changelog lists 7.10.1 as a security fix). Until then, turn off the non-default 'Convert [] to <> in Link Description and Notes' setting.","status":"open","published_at":"2026-11-07T12:17:42+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","triaged_at":"2026-11-07T12:48:52+00:00","updated_at":"2026-11-07T12:51:33+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-07T12:48:51Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Link Library WordPress plugin: stored XSS via link description field","impact":"medium","summary":"The Link Library plugin for WordPress stores attacker-supplied script in the link_description field without proper sanitization or escaping. When a user opens a page showing the injected link, the script runs in their browser.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","link-library","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker script runs in visitors' browsers on the affected site.","analyst_note":"Confirm the fixed version in the NVD entry or the plugin's changelog; the sources given do not name one.","how_to_check":"- Check whether the Link Library plugin is installed and its version is `7.10.0` or lower.\n- In the plugin settings, check whether 'Convert [] to <> in Link Description and Notes' (use_html_tags) is enabled; the issue requires it on.","plain_action":"","needs_analyst":true,"not_affected_if":["default-config","plugin-not-installed"],"who_is_affected":"Only WordPress sites running the Link Library plugin at version 7.10.0 or lower with the non-default 'Convert [] to <> in Link Description and Notes' setting enabled. Sites with the setting off are not exposed according to the description. Visitors of affected pages are the ones who would run the script.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000704,"input_tokens":4349,"output_tokens":539,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm the fixed version in the NVD entry or the plugin's changelog; the sources given do not name one.","search":"'-116537':13A,16A '-2026':12A,15A '7.10.0':91C 'access':120C 'administr':129C 'angl':157C 'arbitrari':109C 'attack':36B,106C 'attacker-suppli':35B 'bracket':155C,158C 'bracket-to-angle-bracket':154C 'browser':64B 'convers':159C 'convert':137C 'cross':76C 'cross-sit':75C 'cve':11A,14A 'default':136C 'descript':9A,42B,82C,141C 'due':92C 'enabl':132C 'escap':48B,99C 'execut':116C,169C 'exploit':125C 'field':10A,43B 'host':26B 'html':145C,170C 'includ':90C 'inject':57B,108C,122C 'input':95C 'insuffici':94C 'librari':2A,22B,30B,67C 'library':19A 'link':1A,8A,18A,21B,29B,41B,58B,66C,81C,140C 'link-librari':20B 'link-library':17A 'make':101C 'never':160C,166C 'non':135C 'non-default':134C 'note':143C 'open':52B 'option':150C 'output':98C 'packag':23B 'page':54B,113C,123C 'paramet':83C 'payload':164C 'plugin':4A,31B,68C 'possibl':103C 'proper':45B 'reconstruct':167C 'requir':126C 'run':61B,161C 'sanit':46B,96C 'script':38B,60B,78C,111C 'self':25B 'self-host':24B 'set':147C 'show':55B 'site':77C,128C 'store':5A,34B,74C 'suppli':37B 'tag':146C 'unauthent':105C 'use':144C 'user':51B,119C 'version':86C 'via':7A,79C 'vulner':72C 'web':110C 'whenev':117C 'without':44B 'wordpress':3A,27B,33B,70C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"Only WordPress sites running the Link Library plugin at version 7.10.0 or lower with the non-default 'Convert [] to <> in Link Description and Notes' setting enabled. Sites with the setting off are not exposed according to the description. Visitors of affected pages are the ones who would run the script.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["linklibrary"],"ptokens":["library","link"],"labels":["high","linklibrary","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-116537':13A,16A '-2026':12A,15A 'cve':11A,14A 'descript':9A 'field':10A 'librari':2A 'library':19A 'link':1A,8A,18A 'link-library':17A 'plugin':4A 'store':5A 'via':7A 'wordpress':3A 'xss':6A","search_b":"'attack':36B 'attacker-suppli':35B 'browser':64B 'descript':42B 'escap':48B 'field':43B 'host':26B 'inject':57B 'librari':22B,30B 'link':21B,29B,41B,58B 'link-librari':20B 'open':52B 'packag':23B 'page':54B 'plugin':31B 'proper':45B 'run':61B 'sanit':46B 'script':38B,60B 'self':25B 'self-host':24B 'show':55B 'store':34B 'suppli':37B 'user':51B 'without':44B 'wordpress':27B,33B","search_c":"'7.10.0':91C 'access':120C 'administr':129C 'angl':157C 'arbitrari':109C 'attack':106C 'bracket':155C,158C 'bracket-to-angle-bracket':154C 'convers':159C 'convert':137C 'cross':76C 'cross-sit':75C 'default':136C 'descript':82C,141C 'due':92C 'enabl':132C 'escap':99C 'execut':116C,169C 'exploit':125C 'html':145C,170C 'includ':90C 'inject':108C,122C 'input':95C 'insuffici':94C 'librari':67C 'link':66C,81C,140C 'make':101C 'never':160C,166C 'non':135C 'non-default':134C 'note':143C 'option':150C 'output':98C 'page':113C,123C 'paramet':83C 'payload':164C 'plugin':68C 'possibl':103C 'reconstruct':167C 'requir':126C 'run':161C 'sanit':96C 'script':78C,111C 'set':147C 'site':77C,128C 'store':74C 'tag':146C 'unauthent':105C 'use':144C 'user':119C 'version':86C 'via':79C 'vulner':72C 'web':110C 'whenev':117C 'wordpress':70C","first_public_at":"2026-11-07T12:17:42+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/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-116537","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116537","severity":null,"published_at":"2026-11-07T12:17:42+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},{"source":"analyst","external_id":"CVE-2026-116537:2115","url":"https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/link-library/link-library-7100-unauthenticated-stored-cross-site-scripting-via-link-description-parameter","severity":null,"published_at":"2026-11-07T12:51:33+00:00","modified_at":"2026-11-07T12:51:33+00:00","first_seen_at":"2026-11-07T12:51:33+00:00","fetched_at":"2026-11-07T12:51:33+00:00","note":"Wordfence advisory (CNA) + wordsec/pluginfind list fix 7.10.1; maintainer changelog on wordpress.org shows 7.10.1 'Fixed potential security issues' but does not name this CVE, so fix not marked verified. No exploitation or PoC seen.","cites":["https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/link-library/link-library-7100-unauthenticated-stored-cross-site-scripting-via-link-description-parameter","https://wordpress.org/plugins/link-library/"]}],"documents":[{"id":95562,"url":"https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/link-library/link-library-7100-unauthenticated-stored-cross-site-scripting-via-link-description-parameter","title":"Wordfence: Link Library <= 7.10.0 Unauthenticated Stored XSS via link_description","kind":"advisory","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":95563,"url":"https://wordpress.org/plugins/link-library/","title":"Link Library plugin page and changelog (7.10.1)","kind":"release","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"fix","confidence":null,"note":null}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}