{"id":"CVE-2026-3659","state":"PUBLISHED","title":"WP Circliful <= 1.2 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'id' Shortcode Attribute","description":"The WP Circliful plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'id' shortcode attribute of the [circliful] shortcode and via multiple shortcode attributes of the [circliful_direct] shortcode in all versions up to and including 1.2. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. Specifically, in the circliful_shortcode() function, the 'id' attribute value is concatenated directly into an HTML id attribute (line 285) without any escaping, allowing an attacker to break out of the double-quoted attribute and inject arbitrary HTML event handlers. Similarly, the circliful_direct_shortcode() function (line 257) outputs all shortcode attributes directly into HTML data-* attributes without 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.","publishedAt":"2026-04-15T08:28:13.507Z","updatedAt":"2026-04-15T13:19:14.183Z","severity":{"score":6.4,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","source":"Wordfence"},"assigner":"Wordfence","products":["bappidgreat WP Circliful"],"affected":[{"vendor":"bappidgreat","product":"WP Circliful","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.2","versionType":"semver"}]}],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/030534e2-bf7d-42e4-94a1-986f629bea15?source=cve","https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L285","https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L285","https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L257","https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L257","https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L263","https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L263","https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L241","https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L241"],"weaknesses":["CWE-79"],"ingestedAt":"2026-10-29T20:11:50.837Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/3xxx/CVE-2026-3659.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-3659","state":"PUBLISHED","datePublished":"2026-04-15T08:28:13.507Z","dateUpdated":"2026-04-15T13:19:14.183Z","assignerShortName":"Wordfence","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateReserved":"2026-03-06T19:44:31.859Z"},"containers":{"cna":{"title":"WP Circliful <= 1.2 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'id' Shortcode Attribute","descriptions":[{"lang":"en","value":"The WP Circliful plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'id' shortcode attribute of the [circliful] shortcode and via multiple shortcode attributes of the [circliful_direct] shortcode in all versions up to and including 1.2. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. Specifically, in the circliful_shortcode() function, the 'id' attribute value is concatenated directly into an HTML id attribute (line 285) without any escaping, allowing an attacker to break out of the double-quoted attribute and inject arbitrary HTML event handlers. Similarly, the circliful_direct_shortcode() function (line 257) outputs all shortcode attributes directly into HTML data-* attributes without 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."}],"affected":[{"vendor":"bappidgreat","product":"WP Circliful","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.2","versionType":"semver"}]}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/030534e2-bf7d-42e4-94a1-986f629bea15?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L285"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L285"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L257"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L257"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L263"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L263"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/trunk/wp-circliful.php#L241"},{"url":"https://plugins.trac.wordpress.org/browser/wp-circliful/tags/1.2/wp-circliful.php#L241"}],"metrics":[{"cvssV3_1":{"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"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"providerMetadata":{"shortName":"Wordfence","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateUpdated":"2026-04-15T08:28:13.507Z"},"credits":[{"lang":"en","type":"finder","value":"Gilang Asra Bilhadi"}],"timeline":[{"time":"2026-04-14T19:47:00.000Z","lang":"en","value":"Disclosed"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-04-15T13:19:06.984838Z","id":"CVE-2026-3659","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-04-15T13:19:14.183Z"}}]}}}