Plugin Name | Smart Table Builder |
---|---|
Type of Vulnerability | Stored XSS |
CVE Number | CVE-2025-9126 |
Urgency | Low |
CVE Publish Date | 2025-09-06 |
Source URL | CVE-2025-9126 |
Authenticated Contributor Stored XSS in Smart Table Builder (≤1.0.1) — What WordPress Site Owners Need to Know
Author: WP-Firewall Security Team | Date: 2025-09-06
Summary: A stored Cross-Site Scripting (XSS) vulnerability (CVE-2025-9126) was discovered in the Smart Table Builder WordPress plugin in versions up to and including 1.0.1. An authenticated user with Contributor privileges could inject markup via an
id
parameter that the plugin persisted and later rendered without proper sanitization. The issue is fixed in version 1.0.2. This post explains the risk, likely exploitation scenarios, detection and remediation steps, and practical hardening recommendations.
Quick facts
- Affected plugin: Smart Table Builder
- Vulnerable versions: ≤ 1.0.1
- Fixed in: 1.0.2
- CVE: CVE-2025-9126
- Vulnerability type: Stored Cross-Site Scripting (XSS)
- Required privilege: Contributor (authenticated)
- Severity / CVSS: Medium / 6.5 (context-sensitive)
- Reported by: security researcher
Why this matters (plain language)
Stored XSS occurs when malicious content is saved on the server and later served to other users. In this case, a Contributor could provide input through an id
parameter which the plugin stored and later printed inside admin or public pages without correct escaping. That stored content can execute JavaScript in the browser of any visitor or administrator who views the affected page.
Contributors are often legitimate users — guest writers, community members or contractors — and they typically cannot publish posts directly. A vulnerability that allows a Contributor to store scriptable content increases attack surface: it is persistent, stealthy, and can be leveraged to target higher-privilege users or site visitors.
Potential impact — what an attacker can do
Stored XSS is versatile and dangerous. The impact depends on where the payload runs, but common consequences include:
- Session theft (if cookie settings are insufficient), impersonation, or expanded persistent access.
- Unauthorized actions performed in the browser of an administrator who views the infected page.
- Defacement, malicious redirects, and insertion of fraudulent content (ads, SEO spam).
- Persistence mechanisms such as modifying plugin options or adding backdoor code if administrative interfaces are targeted.
- Reputational and business damage, such as search engine penalties or data leakage.
Because exploitation requires an authenticated Contributor, attackers may register accounts (if registration is open) or compromise existing contributor accounts via credential reuse or social engineering.
Exploitation scenario (high level)
- Attacker registers or compromises a Contributor account on the target site.
- They create or edit content using Smart Table Builder and manipulate the
id
parameter to inject scriptable HTML that the plugin will store. - The plugin persists that input to the database.
- An admin or front-end user visits a page where the stored content is rendered; the browser executes the injected code.
- The payload performs attacker objectives: exfiltrate cookies, create unauthorized admin accounts via the admin’s browser, redirect users, or load additional malicious resources.
Exploit payloads are intentionally omitted here to avoid enabling misuse; the focus is on detection and remediation.
Detection — how to identify whether you’re affected
If you run Smart Table Builder ≤ 1.0.1, assume potential exposure until verified otherwise.
Actionable detection steps:
- Confirm plugin version: Dashboard → Plugins → Installed Plugins → Smart Table Builder → verify version number.
- Update status: If possible, update to 1.0.2 immediately (see remediation below).
- Inspect data saved by the plugin: Search the database for table builder content that contains HTML tags or suspicious script-like fragments. Use phpMyAdmin, WP-CLI or similar tools to search for occurrences of “