{"id":"CVE-2026-96570","aliases":["EUVD-2026-102657","GHSA-cmj8-gm9j-p86q"],"status":"published","title":"Schema \u0026 Structured Data for WP \u0026 AMP \u003c= 1.67 - Unauthenticated Stored Cross-Site Scripting via 'saswp_review_text' Parameter","description":"The Schema \u0026 Structured Data for WP \u0026 AMP plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'saswp_review_text' parameter in all versions up to, and including, 1.67 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. The nonce that serves as the only authorization gate is publicly printed in the [saswp-reviews-form] shortcode HTML, making it obtainable by any anonymous visitor and rendering it ineffective as an access control boundary.","severity":{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00314,"percentile":0.24548,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-10-16T05:30:18Z","modified":"2026-10-16T15:17:37Z","products":[{"vendor":"magazine3","product":"schema \u0026 structured data for wp \u0026 amp"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/1285322f-be3a-4015-b96d-79589a0897c8?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/schema-and-structured-data-for-wp/tags/1.66/modules/reviews/class-saswp-reviews-admin.php#L258"},{"url":"https://plugins.trac.wordpress.org/browser/schema-and-structured-data-for-wp/tags/1.66/modules/reviews/class-saswp-reviews-admin.php#L159"},{"url":"https://plugins.trac.wordpress.org/browser/schema-and-structured-data-for-wp/tags/1.66/admin_section/common-function.php#L1874"},{"url":"https://plugins.trac.wordpress.org/browser/schema-and-structured-data-for-wp/tags/1.66/admin_section/common-function.php#L5158"},{"url":"https://plugins.trac.wordpress.org/browser/schema-and-structured-data-for-wp/tags/1.66/modules/reviews/class-saswp-reviews-service.php#L126"},{"url":"https://plugins.trac.wordpress.org/browser/schema-and-structured-data-for-wp/tags/1.66/modules/reviews/class-saswp-reviews-form.php#L170"},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=\u0026old=3740790%40schema-and-structured-data-for-wp\u0026new=3740790%40schema-and-structured-data-for-wp"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-96570"},{"url":"https://github.com/advisories/GHSA-cmj8-gm9j-p86q"}],"sources":{"cve":[{"id":"CVE-2026-96570","title":"Schema \u0026 Structured Data for WP \u0026 AMP \u003c= 1.67 - Unauthenticated Stored Cross-Site Scripting via 'saswp_review_text' Parameter","description":"The Schema \u0026 Structured Data for WP \u0026 AMP plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'saswp_review_text' parameter in all versions up to, and including, 1.67 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. The nonce that serves as the only authorization gate is publicly printed in the [saswp-reviews-form] shortcode HTML, making it obtainable by any anonymous visitor and rendering it ineffective as an access control boundary.","status":"published","published":"2026-10-16T05:30:18.814Z","modified":"2026-10-16T14:39:05.295Z","cvss":[{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:20:00.511569Z"}],"euvd":[{"id":"EUVD-2026-102657","description":"The Schema \u0026 Structured Data for WP \u0026 AMP plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'saswp_review_text' parameter in all versions up to, and including, 1.67 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. The nonce that serves as the only authorization gate is publicly printed in the [saswp-reviews-form] shortcode HTML, making it obtainable by any anonymous visitor and rendering it ineffective as an access control boundary.","status":"published","published":"2026-10-16T05:30:18Z","modified":"2026-10-16T14:39:05Z","cvss":[{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","level":"high"}],"updated_at":"2026-11-02T17:00:05.596619Z"}],"ghsa":[{"id":"GHSA-cmj8-gm9j-p86q","title":"The Schema \u0026 Structured Data for WP \u0026 AMP plugin for WordPress is vulnerable to Stored Cross-Site...","description":"The Schema \u0026 Structured Data for WP \u0026 AMP plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'saswp_review_text' parameter in all versions up to, and including, 1.67 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. The nonce that serves as the only authorization gate is publicly printed in the [saswp-reviews-form] shortcode HTML, making it obtainable by any anonymous visitor and rendering it ineffective as an access control boundary.","status":"published","published":"2026-10-16T06:30:28Z","modified":"2026-10-16T06:30:39Z","cvss":[{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:13:51.12467Z"}],"nvd":[{"id":"CVE-2026-96570","description":"The Schema \u0026 Structured Data for WP \u0026 AMP plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'saswp_review_text' parameter in all versions up to, and including, 1.67 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. The nonce that serves as the only authorization gate is publicly printed in the [saswp-reviews-form] shortcode HTML, making it obtainable by any anonymous visitor and rendering it ineffective as an access control boundary.","status":"published","published":"2026-10-16T06:17:13.63Z","modified":"2026-10-16T15:17:37.59Z","cvss":[{"version":"3.1","score":7.2,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:59.751798Z"}]}}
