Security Alert Summary
The WPGSI: Spreadsheet Integration plugin for WordPress (all versions up to and including 3.8.3) contains missing capability checks and an insecure token mechanism on two REST API functions, allowing unauthenticated actors to perform modifications to WordPress posts and pages when they can supply a forged token and an active integration ID. The issue affects the integrity of site content.
CVE Details
- CVE ID: CVE-2026-1916
- Affected plugin / component: WPGSI: Spreadsheet Integration plugin for WordPress
- Affected versions: All versions up to and including 3.8.3
- Published: February 25, 2026 at 9:16 AM UTC
- Last modified: February 25, 2026 at 2:15 PM UTC
- CVSS v3.1: Base Score 7.5 — HIGH
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- Authentication / privileges / user interaction (from CVSS): No privileges required (PR:N); no user interaction required (UI:N); vulnerable to network-based unauthenticated requests
- Primary impact: Confidentiality: None; Integrity: High; Availability: None
- Weakness (CWE): CWE-862
Technical Details
The vulnerability is caused by missing capability checks and an insecure authentication mechanism in two REST API functions: wpgsi_callBackFuncAccept and wpgsi_callBackFuncUpdate. Both endpoints register their permission callbacks as __return_true, which effectively disables permission checks and allows unauthenticated access.
The plugin relies on a custom token-based validation that uses a Base64-encoded JSON object containing a user ID and email address. Because these tokens are not cryptographically signed or otherwise protected, an attacker who knows the administrator’s email address and an active integration ID (with remote updates enabled) can forge tokens. With a forged token and access to those endpoints, an attacker can create, modify, or delete arbitrary WordPress posts and pages. The root causes are the permissive permission_callback usage and the unsigned, forgeable token format.
How This Could Impact Your Website
In a typical small site setup, the site owner (administrator) configures WPGSI for automated updates from an external spreadsheet. Internal staff (editors or contributors) rely on those automated changes to update content, and an external contractor or integration may provide the spreadsheet feed.
An attacker who knows the administrator’s email address and an active integration ID could forge the plugin token and send unauthenticated requests to the affected endpoints. Practically, this can result in unauthorized creation, modification, or deletion of posts and pages — impacting the integrity of published content and editorial workflows. While the CVSS confidentiality impact is listed as None, the integrity impact is High, meaning content authenticity and trust can be materially affected. This may also increase the risk of targeted phishing or social engineering if public or semi-public email addresses are known.
If you’re unsure whether your site is affected or how to assess your current user roles and plugins, it may be worth having a professional review your setup.
Recommended Actions
- Update the affected plugin as soon as a patched version is available. (If no fixed version is specified in the CVE entry, monitor the plugin’s official channels for a release.)
- Review and reduce unnecessary user roles and privileges, especially contributor and editor roles that can create or modify content.
- Enforce strong passwords and enable two-factor authentication for editors and administrators.
- Remove unused or unmaintained plugins to reduce your attack surface.
- Monitor site activity and content changes for unusual behavior or unexpected updates.
If you’d like help reviewing your plugins, user roles, or overall WordPress security posture, our team at Freshy is happy to help.
References
- https://plugins.trac.wordpress.org/browser/wpgsi/tags/3.8.3/admin/class-wpgsi-update.php#L116
- https://plugins.trac.wordpress.org/browser/wpgsi/tags/3.8.3/admin/class-wpgsi-update.php#L636
- https://plugins.trac.wordpress.org/browser/wpgsi/tags/3.8.3/admin/class-wpgsi-update.php#L94
- https://plugins.trac.wordpress.org/browser/wpgsi/trunk/admin/class-wpgsi-update.php#L116
- https://plugins.trac.wordpress.org/browser/wpgsi/trunk/admin/class-wpgsi-update.php#L636
- https://plugins.trac.wordpress.org/browser/wpgsi/trunk/admin/class-wpgsi-update.php#L94
- https://plugins.trac.wordpress.org/changeset/3461326/wpgsi/trunk/admin/class-wpgsi-update.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/7598b38b-26b1-4640-9bd7-60613a5f704d?source=cve