---
id: "CVE-2026-96570"
kind: "vulnerability"
aliases: ["CVE-2026-96570"]
title: "WordPress Schema & Structured Data plugin: unauthenticated stored cross-site scripting via reviews"
severity: "high"
cvss: 7.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "wordpress", "wordpress-plugin"]
not_affected_if: ["plugin-newer-than-1.67", "plugin-not-installed"]
published_at: "2026-10-16T06:17:13+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T03:29:42+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-96570", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# WordPress Schema & Structured Data plugin: unauthenticated stored cross-site scripting via reviews

The Schema & Structured Data for WP & AMP WordPress plugin, up to and including 1.67, does not sanitize the saswp_review_text parameter. An anonymous visitor can store scripts that run in the browser of anyone who opens an affected page.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether the plugin is installed and its version in the WordPress admin plugin list, or with `wp plugin get schema-and-structured-data-for-wp`
- Look for the [saswp-reviews-form] shortcode on pages and posts

## Fix

- Update the Schema & Structured Data for WP & AMP plugin to a version later than `1.67` once a patched release is published (unknown fixed version in the sources)
- Until patched, deactivate the plugin or remove the [saswp-reviews-form] shortcode

## Timeline

- 2026-10-23T21:57:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-96570

## From the sources

The Schema & Structured Data for WP & 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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
