{"api_version":"1","generated_at":"2026-10-09T01:18:37+00:00","cve":"CVE-2026-96578","urls":{"html":"https://cve.report/CVE-2026-96578","api":"https://cve.report/api/cve/CVE-2026-96578.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-96578","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-96578"},"summary":{"title":"GSpeech TTS <= 3.22.0 - Unauthenticated Stored Cross-Site Scripting via Comment Content","description":"The GSpeech TTS – WordPress Text To Speech Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Comment Content in all versions up to, and including, 3.22.0 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 mXSS-style transform bypasses WordPress comment kses sanitization because the payload is stored using only kses-allowed tags and attributes; the malicious event handlers and style fragments become active only when the plugin's output-buffer callback rewrites the rendered HTML at request time.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-10-02 08:17:04","updated_at":"2026-10-02 18:17:09"},"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":"Secondary","score":"7.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","baseScore":7.2,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"baseScore":7.2,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"references":[{"url":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L459","name":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L459","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L540","name":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L540","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/06017af2-58d9-40e3-bb87-2f29c3e89560?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/06017af2-58d9-40e3-bb87-2f29c3e89560?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L160","name":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L160","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=&old=3717307%40gspeech&new=3717307%40gspeech","name":"https://plugins.trac.wordpress.org/changeset?reponame=&old=3717307%40gspeech&new=3717307%40gspeech","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-96578","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-96578","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"creative-solutions-1","product":"GSpeech TTS – WordPress Text To Speech Plugin","version":"affected 3.22.0 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-09-25T12:43:36.000Z","lang":"en","value":"Vendor Notified"},{"source":"CNA","time":"2026-10-01T18:59:11.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"theviper17y","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"96578","cve":"CVE-2026-96578","epss":"0.002500000","percentile":"0.147750000","score_date":"2026-10-05","updated_at":"2026-10-06 00:14:19"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-96578","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-10-02T17:56:16.649815Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-02T17:56:36.269Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"defaultStatus":"unaffected","product":"GSpeech TTS – WordPress Text To Speech Plugin","vendor":"creative-solutions-1","versions":[{"lessThanOrEqual":"3.22.0","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"theviper17y"}],"descriptions":[{"lang":"en","value":"The GSpeech TTS – WordPress Text To Speech Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Comment Content in all versions up to, and including, 3.22.0 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 mXSS-style transform bypasses WordPress comment kses sanitization because the payload is stored using only kses-allowed tags and attributes; the malicious event handlers and style fragments become active only when the plugin's output-buffer callback rewrites the rendered HTML at request time."}],"metrics":[{"cvssV3_1":{"baseScore":7.2,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/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-10-02T07:39:21.086Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/06017af2-58d9-40e3-bb87-2f29c3e89560?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L459"},{"url":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L160"},{"url":"https://plugins.trac.wordpress.org/browser/gspeech/tags/3.21.5/includes/gspeech_frontend.php#L540"},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=&old=3717307%40gspeech&new=3717307%40gspeech"}],"timeline":[{"lang":"en","time":"2026-09-25T12:43:36.000Z","value":"Vendor Notified"},{"lang":"en","time":"2026-10-01T18:59:11.000Z","value":"Disclosed"}],"title":"GSpeech TTS <= 3.22.0 - Unauthenticated Stored Cross-Site Scripting via Comment Content"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-96578","datePublished":"2026-10-02T07:39:21.086Z","dateReserved":"2026-09-23T13:36:50.599Z","dateUpdated":"2026-10-02T17:56:36.269Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-02 08:17:04","lastModifiedDate":"2026-10-02 18:17:09","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":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","baseScore":7.2,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":2.7}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-02T17:56:16.649815Z","id":"CVE-2026-96578","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"96578","Ordinal":"1","Title":"GSpeech TTS <= 3.22.0 - Unauthenticated Stored Cross-Site Script","CVE":"CVE-2026-96578","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"96578","Ordinal":"1","NoteData":"The GSpeech TTS – WordPress Text To Speech Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Comment Content in all versions up to, and including, 3.22.0 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 mXSS-style transform bypasses WordPress comment kses sanitization because the payload is stored using only kses-allowed tags and attributes; the malicious event handlers and style fragments become active only when the plugin's output-buffer callback rewrites the rendered HTML at request time.","Type":"Description","Title":"GSpeech TTS <= 3.22.0 - Unauthenticated Stored Cross-Site Script"}]}}}