Gravity SMTP <= 2.1.4 - Unauthenticated Sensitive Information Exposure via REST API
Strategic Overview
- Status
- Patched in 2.1.5
- Affected Plugin
- Gravity SMTP
- Affected Version
<= 2.1.4- CVSS
- 5.3Medium
- Weakness type
- CWE-200 · Exposure of Sensitive Information to an Unauthorized Actor
- CVE
CVE-2026-4020
At a glance
CVE-2026-4020 is a medium-severity Exposure of Sensitive Information to an Unauthorized Actor vulnerability in the Gravity SMTP WordPress plugin, affecting versions <= 2.1.4. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 2.1.5; sites on affected versions should update now. Disclosed March 2026, reported by Osvaldo Noe Gonzalez Del Rio (Os).
Vulnerability Overview
The Gravity SMTP plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 2.1.4. This is due to a REST API endpoint registered at /wp-json/gravitysmtp/v1/tests/mock-data with a permission_callback that unconditionally returns true, allowing any unauthenticated visitor to access it. When the ?page=gravitysmtp-settings query parameter is appended, the plugin's register_connector_data() method populates internal connector data, causing the endpoint to return approximately 365 KB of JSON containing the full System Report. This makes it possible for unauthenticated attackers to retrieve detailed system configuration data including PHP version, loaded extensions, web server version, document root path, database server type and version, WordPress version, all active plugins with versions, active theme, WordPress configuration details, database table names, and any API keys/tokens configured in the plugin.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Gravity SMTP <= 2.1.4 carries this weakness at register_connector_data(), and reaching it takes no account at all. Sensitive information exposure means data the application intended to keep internal is returned to a caller who should not be able to see it.
The disclosed data — credentials, tokens, customer records or internal paths — is usually worth more as material for a follow-up attack than as an end in itself. For Gravity SMTP the fix is 2.1.5: builds <= 2.1.4 are affected, anything from 2.1.5 onward is not.
Remediation
Update to version 2.1.5, or a newer patched version
How does WordSec protect against this?
This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: Gravity SMTP 2.1.5 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in Gravity SMTP
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C