LiveActive security incident?Get immediate response
CVE Record

CVE-2026-3997: Text Toggle <= 1.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'title' Shortcode Attribute

The Text Toggle plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'title' shortcode attribute of the [tt_part] and [tt] shortcodes in all versions up to and including 1.1. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. Specifically, in the avp_texttoggle_part_shortcode() function, the 'title' attribute is extracted from shortcode attributes and concatenated directly into HTML output without any escaping — both within an HTML attribute context (title="...") on line 116 and in HTML content on line 119. While the 'class' attribute is properly validated using ctype_alnum(), the 'title' attribute has no sanitization whatsoever. An attacker can inject double-quote characters to break out of the title attribute and inject arbitrary HTML attributes including event handlers. 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.

MediumCVSS 6.4Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2026-3997 affects the WordPress Text Toggle plugin. Authenticated users with Contributor-level access or higher can store malicious script through a shortcode title field. The script runs when someone views the affected page. This can expose site users or administrators to session theft, unwanted actions, or content tampering.

Executive priority

Treat this as a moderate-priority WordPress content risk. It is not reported as actively exploited, but it can affect administrators if a lower-privileged account is abused. Prioritize sites with many contributors, external authors, or sensitive admin sessions.

Technical view

The issue is stored XSS in Text Toggle through the title attribute of [tt_part] and [tt] shortcodes. Sources state versions up to and including 1.1 are vulnerable due to missing sanitization and output escaping in avp_texttoggle_part_shortcode(), including HTML attribute and content contexts. CVSS is 6.4, requiring low privileges.

Likely exposure

Exposure is limited to WordPress sites with the Text Toggle plugin installed and users able to create or edit shortcode content. Sites allowing Contributor-level accounts, guest authors, or many internal publishers face higher risk. The source bundle contains inconsistent affected-version metadata, so verify against vendor and Wordfence records.

Exploitation context

No CISA KEV listing or cited source indicates active exploitation. Exploitation requires an authenticated account with Contributor privileges or higher and placement of affected shortcodes in content. Stored XSS executes when a victim views the injected page, potentially including privileged WordPress users.

Researcher notes

The source description identifies CWE-79 and points to avp-texttoggle.php lines where title is extracted and concatenated into HTML without escaping. The class attribute is reportedly constrained with ctype_alnum(), but title is not. Avoid assuming a patch status beyond cited vendor or Wordfence information.

Mitigation direction

  • Check vendor or Wordfence guidance for a fixed Text Toggle release or official workaround.
  • If no fixed version is available, disable Text Toggle where business impact permits.
  • Restrict Contributor-level publishing and shortcode usage to trusted users only.
  • Review and remove untrusted [tt] and [tt_part] shortcode content.
  • Apply normal WordPress least-privilege and account hygiene controls.

Validation and detection

  • Inventory WordPress sites for the Text Toggle plugin and installed version.
  • Confirm whether versions are up to and including 1.1.
  • Identify users with Contributor, Author, Editor, or Administrator permissions.
  • Review posts and pages containing [tt] or [tt_part] shortcodes.
  • Check security monitoring for unusual script-like content in shortcode title attributes.
Prepared
Confidence
high
Sources
7

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · medium confidence lookup

CWE-79: User-session and phishing behavior lookup

Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-3997 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
6.4 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
4Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
6.4CVSS 3.1MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N3.12.7Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

6.4Medium
CVSS 3.1 vector shape for CVE-2026-3997Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
hoosierdragonText Toggle0unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-79 · source CWE mapping

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.