Description
The Extendify plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'styles.blocks' Block Type Key in all versions up to, and including, 3.1.6 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 is possible because registerIncoming() is hooked on rest_request_before_callbacks and runs before WordPress evaluates the route's permission_callback, meaning any unauthenticated POST, PUT, or PATCH request to a /wp/v2/global-styles route can trigger the vulnerable code path.
References8
- plugins.trac.wordpress.org/browser/extendify/tags/3.1.6/app/Sha…
- plugins.trac.wordpress.org/browser/extendify/tags/3.1.6/app/Sha…
- plugins.trac.wordpress.org/browser/extendify/tags/3.1.6/app/Sha…
- plugins.trac.wordpress.org/browser/extendify/tags/3.1.6/app/Sha…
- plugins.trac.wordpress.org/browser/extendify/tags/3.1.6/bootstr…
- plugins.trac.wordpress.org/changeset/3688833/extendify/trunk/ap…
- plugins.trac.wordpress.org/changeset?reponame=&new=3688833%40ex…
- www.wordfence.com/threat-intel/vulnerabilities/id/38024680-2d99…
Metrics
- CVSS 3.1
-
7.2
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 24 · as of 10 November 2026
- CWE
- CWE-79
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.