{"api_version":"1","generated_at":"2026-09-18T07:44:40+00:00","cve":"CVE-2026-84909","urls":{"html":"https://cve.report/CVE-2026-84909","api":"https://cve.report/api/cve/CVE-2026-84909.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-84909","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-84909"},"summary":{"title":"Custom Twitter Feeds <= 2.8.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'buttoncolor' Shortcode Attribute","description":"The Custom Twitter Feeds – A Tweets Widget or X Feed Widget plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'buttoncolor' Shortcode Attribute in all versions up to, and including, 2.8.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This vulnerability is exploitable on common installs where the admin has configured access tokens with zero or multiple legacy feeds, as this causes the ctf_statuses support_legacy_shortcode option to be set to boolean true by default, activating the unfiltered legacy shortcode attribute code path.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-09-18 07:16:50","updated_at":"2026-09-18 07:16:50"},"problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":[{"version":"3.1","source":"security@wordfence.com","type":"Primary","score":"6.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","baseScore":6.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"6.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","data":{"baseScore":6.4,"baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"references":[{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L139","name":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L139","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/b1a9d042-c0c0-477a-8cdf-9fb9d2239059?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/b1a9d042-c0c0-477a-8cdf-9fb9d2239059?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L2001","name":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L2001","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/custom-twitter-feed.php#L432","name":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/custom-twitter-feed.php#L432","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Settings.php#L234","name":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Settings.php#L234","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L2338","name":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L2338","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Settings.php#L293","name":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Settings.php#L293","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=&new=3695675%40custom-twitter-feeds&old=3665650%40custom-twitter-feeds","name":"https://plugins.trac.wordpress.org/changeset?reponame=&new=3695675%40custom-twitter-feeds&old=3665650%40custom-twitter-feeds","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Parse.php#L551","name":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Parse.php#L551","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-84909","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-84909","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"smub","product":"Custom Twitter Feeds – A Tweets Widget or X Feed Widget","version":"affected 2.8.0 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-09-02T15:57:47.000Z","lang":"en","value":"Vendor Notified"},{"source":"CNA","time":"2026-09-17T00:00:00.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Wordfence PRISM","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Custom Twitter Feeds – A Tweets Widget or X Feed Widget","vendor":"smub","versions":[{"lessThanOrEqual":"2.8.0","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Wordfence PRISM"}],"descriptions":[{"lang":"en","value":"The Custom Twitter Feeds – A Tweets Widget or X Feed Widget plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'buttoncolor' Shortcode Attribute in all versions up to, and including, 2.8.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This vulnerability is exploitable on common installs where the admin has configured access tokens with zero or multiple legacy feeds, as this causes the ctf_statuses support_legacy_shortcode option to be set to boolean true by default, activating the unfiltered legacy shortcode attribute code path."}],"metrics":[{"cvssV3_1":{"baseScore":6.4,"baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-18T06:38:55.694Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/b1a9d042-c0c0-477a-8cdf-9fb9d2239059?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L2338"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Parse.php#L551"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L2001"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Settings.php#L293"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CTF_Settings.php#L234"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/inc/CtfFeed.php#L139"},{"url":"https://plugins.trac.wordpress.org/browser/custom-twitter-feeds/tags/2.8.0/custom-twitter-feed.php#L432"},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=&new=3695675%40custom-twitter-feeds&old=3665650%40custom-twitter-feeds"}],"timeline":[{"lang":"en","time":"2026-09-02T15:57:47.000Z","value":"Vendor Notified"},{"lang":"en","time":"2026-09-17T00:00:00.000Z","value":"Disclosed"}],"title":"Custom Twitter Feeds <= 2.8.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'buttoncolor' Shortcode Attribute"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-84909","datePublished":"2026-09-18T06:38:55.694Z","dateReserved":"2026-09-02T15:42:41.203Z","dateUpdated":"2026-09-18T06:38:55.694Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-18 07:16:50","lastModifiedDate":"2026-09-18 07:16:50","problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":{"cvssMetricV31":[{"source":"security@wordfence.com","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","baseScore":6.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":3.1,"impactScore":2.7}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"84909","Ordinal":"1","Title":"Custom Twitter Feeds <= 2.8.0 - Authenticated (Contributor+) Sto","CVE":"CVE-2026-84909","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"84909","Ordinal":"1","NoteData":"The Custom Twitter Feeds – A Tweets Widget or X Feed Widget plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'buttoncolor' Shortcode Attribute in all versions up to, and including, 2.8.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This vulnerability is exploitable on common installs where the admin has configured access tokens with zero or multiple legacy feeds, as this causes the ctf_statuses support_legacy_shortcode option to be set to boolean true by default, activating the unfiltered legacy shortcode attribute code path.","Type":"Description","Title":"Custom Twitter Feeds <= 2.8.0 - Authenticated (Contributor+) Sto"}]}}}